Client -> Server
Client to Server communication is simple. Only thing you need to do is send (upper-case) command followed by its' arguments. I will be using following format:<arg> = required argument
[arg] = optional argument
<arg... = required text argument
[arg... = optional text argument
Text arguments starts with :
and can contain spaces.
Content
Commands
Optional Commands
Connection
PASS
PASS <password>
Sent as first command to define access to the server. Multiple may be sent but only last should be considered. Errors: Example:
PASS super_secret_password
NICK
NICK <nickname>
Used to change (or set first) nickname. Errors: Example:
NICK FooBar
USER
USER <username> <hostname> <servername> <realname...
Used at beginning of connection to specify username, hostname, servername and realname.
<hostname>
and <servername>
are ignored (used only for Server -> Server communication).
It is recommended to use Identity Server(user password server) because there is no prove for username validity. Errors: Examples:
USER guest tolmoon tolsun :Ronnie Reagan
USER foobar - - :Foo Bar
SERVER
Used only for Server -> Server communication.OPER
OPER <user> <password>
Used to gain (server) operator privileges. Errors: Reply: Examples:
OPER foo bar
QUIT
QUIT [message...
Client should send this before leaving. Examples:
QUIT
QUIT :Leaving