+ ERR_NOSUCHNICK = 401,
+ ERR_NOSUCHSERVER = 402,
+ ERR_NOSUCHCHANNEL = 403, // used to indicate an invalid channel name also, so don't rely on RFC text (don't do that anyway!)
+ ERR_CANNOTSENDTOCHAN = 404,
+ ERR_TOOMANYCHANNELS = 405,
+ ERR_WASNOSUCHNICK = 406,
+ ERR_INVALIDCAPSUBCOMMAND = 410, // ratbox/charybdis(?)
+ ERR_NOTEXTTOSEND = 412,
+ ERR_UNKNOWNCOMMAND = 421,
+ ERR_NOMOTD = 422,
+ ERR_ERRONEUSNICKNAME = 432,
+ ERR_NICKNAMEINUSE = 433,
+ ERR_NORULES = 434, // unrealircd
+ ERR_USERNOTINCHANNEL = 441,
+ ERR_NOTONCHANNEL = 442,
+ ERR_USERONCHANNEL = 443,
+ ERR_CANTCHANGENICK = 447, // unrealircd, probably
+ ERR_NOTREGISTERED = 451,
+ ERR_NEEDMOREPARAMS = 461,
+ ERR_ALREADYREGISTERED = 462,
+ ERR_UNKNOWNMODE = 472,
+
+ /*
+ * A quick side-rant about the next group of numerics..
+ * There are clients out there that like to assume that just because they don't recieve a numeric
+ * they know, that they have joined the channel.
+ *
+ * If IRC was at all properly standardised, this may even be a semi-acceptable assumption to make,
+ * but that's not the case as we all know, so IT IS NOT ACCEPTABLE. Especially for Insp users, where
+ * differing modules MAY potentially choose to block joins and send NOTICEs or other text to the user
+ * instead!
+ *
+ * tl;dr version:
+ * DON'T MAKE YOUR CLIENT ASSUME YOU JOINED UNLESS YOU RECIEVE A JOIN WITH YOUR DAMN NICK ON IT.
+ * Thanks.
+ *
+ * -- A message from the IRC group for coder sanity, and w00t
+ */
+ ERR_BADCHANNELKEY = 475,
+ ERR_INVITEONLYCHAN = 473,
+ ERR_CHANNELISFULL = 471,
+ ERR_BANNEDFROMCHAN = 474,
+
+ ERR_BANLISTFULL = 478,
+
+ ERR_NOPRIVILEGES = 481, // rfc, beware though, we use this for other things opers may not do also
+ ERR_CHANOPRIVSNEEDED = 482, // rfc, beware though, we use this for other things like trying to kick a uline
+
+ ERR_RESTRICTED = 484,
+
+ ERR_ALLMUSTSSL = 490, // unrealircd
+ ERR_NOOPERHOST = 491,
+ ERR_NOCTCPALLOWED = 492, // XXX: bzzzz. 1459 defines this as ERR_NOSERVICEHOST, research it more and perhaps change this! (ERR_CANNOTSENDTOCHAN?)
+ // wtf, we also use this for m_noinvite. UGLY!
+ ERR_DELAYREJOIN = 495, // insp-specific, XXX: we should use 'resource temporarily unavailable' from ircnet/ratbox or whatever
+ ERR_UNKNOWNSNOMASK = 501, // insp-specific
+ ERR_USERSDONTMATCH = 502,
+ ERR_CANTJOINOPERSONLY = 520, // unrealircd, but crap to have so many numerics for cant join..
+ ERR_CANTSENDTOUSER = 531, // ???
+
+ RPL_COMMANDS = 702, // insp-specific
+ RPL_COMMANDSEND = 703, // insp-specific
+
+ ERR_CHANOPEN = 713,
+ ERR_KNOCKONCHAN = 714,
+
+ ERR_WORDFILTERED = 936, // insp-specific, would be nice if we could get rid of this..
+ ERR_CANTUNLOADMODULE = 972, // insp-specific
+ RPL_UNLOADEDMODULE = 973, // insp-specific
+ ERR_CANTLOADMODULE = 974, // insp-specific
+ RPL_LOADEDMODULE = 975 // insp-specific