title | layout | work-in-progress | copyrights | |||||||
---|---|---|---|---|---|---|---|---|---|---|
IRCv3 Message Modification |
spec |
true |
|
#!/usr/bin/env python3 | |
# IRC Server fuzzing, made easy! | |
import time | |
import socket | |
import select | |
import random | |
# settings | |
hostname = '127.0.0.1' |
Daniel Oaks daniel@danieloaks.net
People like to use IRC to roleplay. In other words, to act out characters as part of a channel and between clients. Often, this means it's desirable to send messages with names other than the client's nickname, and to send messages not explicitly attached to a name at all.
<limit>
is defined by the server/bouncer by default, but the client can optionally ask for a different limit.
CHATHISTORY #ircv3 BEFORE id=ytNBbt565yt4r3err3 [<limit>]
- get up to <limit> number of messages before the given id/time
CHATHISTORY #ircv3 AFTER id=ytNBbt565yt4r3err3 [<limit>]
- get up to <limit> number of messages after the given id/time
CHATHISTORY #ircv3 LATEST id=ytNBbt565yt4r3err3 [<limit>]
- get the most recent (up to `<limit>`) messages that have been sent since the given id/time
- if * is given instead of a specific ID, just the most recent messages with no limit
CHATHISTORY #ircv3 AROUND id=ytNBbt565yt4r3err3 []
This rough guide aims to take you through the process of writing an IRCv3 specification and getting it accepted! It doesn't lay out exactly what you must do for a document to get accepted, but should be a useful set of suggestions and considerations to keep in mind as you go through the process.
There are a few main reasons why you'd want to write up a spec for inclusion within the IRCv3 Working Group:
- You'd like to change an aspect of the IRC protocol, and write down in very exact detail how that change works.
- You have a cool, interesting, and/or useful feature in your software and think that other software should include it.
package main | |
import ( | |
"log" | |
"fmt" | |
"strings" | |
"sync" | |
"strconv" | |
"net" |
// thanks to https://www.glennklockwood.com/electronics/max7219.html and http://www.gammon.com.au/forum/?id=11516 for help | |
// and to the data sheet | |
#include <SPI.h> | |
#define selectPin D2 | |
#define REG_NOOP 0x00 | |
#define REG_DIGIT_0 0x01 | |
#define REG_DIGIT_1 0x02 | |
#define REG_DIGIT_2 0x03 |
words words words
Everyone's life sucks sometimes. It's a long, hard slog of good times and bad.
When those bad times come, it's really easy to tell yourself that everyone else is going well. You see everything flowing by on Twitter, Facebook or maybe even just day-to-day in life. Nothing is crumbling, nothing's falling down, but your life is.