This page is intended for developers. If you're looking information on for how to link servers you should refer to the spanningtree module page instead.
Documentation of the server protocol is still work in progress. It may be incomplete or inaccurate.
Syntax
Messages are formatted the same as a standard IRCv3 message other than the following differences:
- The prefix will be a SID or UUID instead of a nick!user@host mask. If no prefix is present then the message is from the directly connected server.
- Lines are terminated with a line feed (
\n
) instead of a carriage return and a line feed (\r\n
). - Support for arbitrary message tags is assumed and does not require negotiating a client capability.
- Tags that begin with a tilde (
~
) are internal to the server protocol and are not intended to be exposed to users. - Once fully authenticated there are no message length limits.
Messages
This page only lists server messages. For details on user commands that may be sent across the network see the core commands page or for a specific module please refer to the appropriate page for that module.
Name | Syntax |
---|---|
ADDLINE | :<uuid> ADDLINE <type> <mask> <setter> <settime> <duration> :<reason> |
AWAY | :<uid> AWAY <time> <reason> :<uid> AWAY |
BURST | [:<sid>] BURST [<ts>] |
CAPAB | [:<sid>] CAPAB START <version> [:<sid>] CAPAB CAPABILITIES :[<capability-key>=<capability-value>]+ [:<sid>] CAPAB MODULES :[<module-name>[=<module-link-data>]]+ [:<sid>] CAPAB MODSUPPORT :[<module-name>[=<module-link-data>]]+ [:<sid>] CAPAB CHANMODES :[<mode-type>:[<mode-rank>]:<mode-name>=[<mode-prefix>]<modechar>]+ [:<sid>] CAPAB USERMODES :[<mode-type>:[<mode-rank>]:<mode-name>=[<mode-prefix>]<modechar>]+ [:<sid>] CAPAB END |
DELLINE | :<uuid> DELLINE <type> <mask> |
ENCAP | :<uuid> ENCAP <target> <message> [<parameters>]+ |
ENDBURST | [:<sid>] ENDBURST |
ERROR | [:<sid>] ERROR :<reason> |
FHOST | :<uid> FHOST <host> |
FIDENT | :<uid> FIDENT <username> |
FJOIN | [:<sid>] FJOIN <channel> <ts> <modes> [<mode-parameters>]+ :[<prefix-modes>,<uid>[:<membid>]]+ |
FMODE | :<uuid> FMODE <channel> <ts> <modes> [<mode-parameters>]+ |
FNAME | :<uid> FNAME <realname> |
FTOPIC | :<uuid> FTOPIC <channel> <channel-ts> <topic-ts> [<setter>] :<new-topic> |
IDLE | :<uid> IDLE <target-uid> :<uid> IDLE <reply-uid> <signon-ts> <idle> |
IJOIN | :<uid> IJOIN <channel> <membid> [<ts> <prefix-modes>] |
METADATA | [:<sid>] METADATA <channel> <ts> <key> [<value>] [:<sid>] METADATA <uid> <key> [<value>] [:<sid>] METADATA {*} <key> [<value>] |
NICK | :<uid> NICK <nick> <ts> |
NUM | :<uuid> NUM <sid> <uid> <numeric> [<parameters>]+ |
OPERTYPE | :<uid> OPERTYPE :<type> |
PING | [:<sid>] PING <target> |
PONG | [:<sid>] PONG <target> |
RESYNC | [:<sid>] RESYNC <channel> |
SAVE | [:<sid>] SAVE <uid> <ts> |
SERVER | [:<sid>] SERVER <server-name> <password> <unused> <newsid> :<description> [:<sid>] SERVER <server-name> <newsid> [<data>]+ :<description> |
SINFO | [:<sid>] SINFO <key> :<value> |
SNONOTICE | [:<sid>] SNONOTICE <snochar> :<message> |
SVSJOIN | [:<sid>] SVSJOIN <uid> <channel> [<key>] |
SVSNICK | [:<sid>] SVSNICK <uid> <newnick> <newnickts> [<oldnickts>] |
SVSPART | [:<sid>] SVSPART <uid> <channel> [:<reason>] |
UID | [:<sid>] UID <uid> <ts> <nick> <real-host> <displayed-host> <user> <ip> <signon> <modes> [<mode-parameters>]+ :<real> |