Having also written a client, I have to disagree that the protocol is simple. The lack of standardized text encoding, the 512 message limit, the desync issue of RPL_NAMREPLY, the hundreds of differences between each network's server behavior, and more make it quite a pain to write a competitive client. It's so bad that the CAP/ACK was protocol was drafted to query the behavior of a server in a standardized way, in addition to RPL_ISUPPORT (which uses the 005 numeric in a way that conflicts with the protocol standard).That's another problem: all the subprotocols grafted onto IRC, especially CTCP which is such a mess that most clients don't implement it completely. Then there's mIRC colors which has parsing ambiguities. Also, the multiple passive DCC request formats.
It's a complete mess, and there desperately needs to be a standards body of some sort at the very least collecting all this info in one place for client developers.
No comments yet.