|
|||
|
|||
|
00001 /* +------------------------------------+ 00002 * | Inspire Internet Relay Chat Daemon | 00003 * +------------------------------------+ 00004 * 00005 * InspIRCd: (C) 2002-2008 InspIRCd Development Team 00006 * See: http://www.inspircd.org/wiki/index.php/Credits 00007 * 00008 * This program is free but copyrighted software; see 00009 * the file COPYING for details. 00010 * 00011 * --------------------------------------------------- 00012 */ 00013 00014 /* 00015 * This file is aimed providing a string that is easier to use than using the numeric 00016 * directly. 00017 * 00018 * Module authors, please note! 00019 * While you are free to use any numerics on this list, like the rest of the core, you 00020 * *should not* be editing it! 00021 * You should just WriteNumeric(444, .. or whatever as you would before this file, OR: 00022 * #define RPL_MYNUMERIC 444 & WriteNumeric(RPL_MYNUMERIC, ... 00023 * 00024 * If you *do* have a suggestion for a numeric you genuinely believe would be useful, 00025 * please speak to us. :) 00026 * 00027 * Thanks to Darom, jackmcbarn and Brain for suggesting and discussing this. 00028 * 00029 * Please note that the list may not be exhaustive, it'll be done when I have 00030 * nothing better to do with my time. -- w00t (jul 13, 2008) 00031 */ 00032 enum Numerics 00033 { 00034 /* 00035 * Reply range of numerics. 00036 */ 00037 RPL_WELCOME = 1, // 2812, not 1459 00038 RPL_YOURHOSTIS = 2, // 2812, not 1459 00039 RPL_SERVERCREATED = 3, // 2812, not 1459 00040 RPL_SERVERVERSION = 4, // 2812, not 1459 00041 RPL_ISUPPORT = 5, // not RFC, extremely common though (defined as RPL_BOUNCE in 2812, widely ignored) 00042 00043 RPL_MAP = 6, // unrealircd 00044 RPL_ENDMAP = 7, // unrealircd 00045 RPL_SNOMASKIS = 8, // unrealircd 00046 00047 RPL_YOURUUID = 42, // taken from ircnet 00048 00049 RPL_UMODEIS = 221, 00050 RPL_RULES = 232, // unrealircd 00051 RPL_ADMINME = 256, 00052 RPL_ADMINLOC1 = 257, 00053 RPL_ADMINLOC2 = 258, 00054 RPL_ADMINEMAIL = 259, 00055 RPL_MAPUSERS = 270, // insp-specific 00056 00057 RPL_SYNTAX = 304, // insp-specific 00058 00059 RPL_UNAWAY = 305, 00060 RPL_NOWAWAY = 306, 00061 00062 RPL_RULESTART = 308, // unrealircd 00063 RPL_RULESEND = 309, // unrealircd 00064 RPL_CHANNELMODEIS = 324, 00065 RPL_CHANNELCREATED = 329, // ??? 00066 RPL_TOPIC = 332, 00067 RPL_TOPICTIME = 333, // not RFC, extremely common though 00068 00069 RPL_INVITING = 341, 00070 RPL_INVITELIST = 346, // insp-specific (stolen from ircu) 00071 RPL_ENDOFINVITELIST = 347, // insp-specific (stolen from ircu) 00072 RPL_VERSION = 351, 00073 RPL_NAMREPLY = 353, 00074 RPL_ENDOFNAMES = 366, 00075 00076 RPL_INFO = 371, 00077 RPL_ENDOFINFO = 374, 00078 RPL_MOTD = 372, 00079 RPL_MOTDSTART = 375, 00080 RPL_ENDOFMOTD = 376, 00081 00082 RPL_YOUAREOPER = 381, 00083 RPL_REHASHING = 382, 00084 RPL_TIME = 391, 00085 RPL_YOURDISPLAYEDHOST = 396, // from charybdis/etc, common convention 00086 00087 /* 00088 * Error range of numerics. 00089 */ 00090 ERR_NOSUCHNICK = 401, 00091 ERR_NOSUCHSERVER = 402, 00092 ERR_NOSUCHCHANNEL = 403, // used to indicate an invalid channel name also, so don't rely on RFC text (don't do that anyway!) 00093 ERR_CANNOTSENDTOCHAN = 404, 00094 ERR_TOOMANYCHANNELS = 405, 00095 ERR_INVALIDCAPSUBCOMMAND = 410, // ratbox/charybdis(?) 00096 ERR_UNKNOWNCOMMAND = 421, 00097 ERR_NOMOTD = 422, 00098 ERR_NORULES = 434, // unrealircd 00099 ERR_USERNOTINCHANNEL = 441, 00100 ERR_NOTONCHANNEL = 442, 00101 ERR_USERONCHANNEL = 443, 00102 ERR_CANTCHANGENICK = 447, // unrealircd, probably 00103 ERR_NOTREGISTERED = 451, 00104 ERR_NEEDMOREPARAMS = 461, 00105 ERR_ALREADYREGISTERED = 462, 00106 00107 /* 00108 * A quick side-rant about the next group of numerics.. 00109 * There are clients out there that like to assume that just because they don't recieve a numeric 00110 * they know, that they have joined the channel. 00111 * 00112 * If IRC was at all properly standardised, this may even be a semi-acceptable assumption to make, 00113 * but that's not the case as we all know, so IT IS NOT ACCEPTABLE. Especially for Insp users, where 00114 * differing modules MAY potentially choose to block joins and send NOTICEs or other text to the user 00115 * instead! 00116 * 00117 * tl;dr version: 00118 * DON'T MAKE YOUR CLIENT ASSUME YOU JOINED UNLESS YOU RECIEVE A JOIN WITH YOUR DAMN NICK ON IT. 00119 * Thanks. 00120 * 00121 * -- A message from the IRC group for coder sanity, and w00t 00122 */ 00123 ERR_BADCHANNELKEY = 475, 00124 ERR_INVITEONLYCHAN = 473, 00125 ERR_CHANNELISFULL = 471, 00126 ERR_BANNEDFROMCHAN = 474, 00127 00128 ERR_NOPRIVILEGES = 481, // rfc, beware though, we use this for other things opers may not do also 00129 ERR_CHANOPRIVSNEEDED = 482, // rfc, beware though, we use this for other things like trying to kick a uline 00130 00131 ERR_ALLMUSTSSL = 490, // unrealircd 00132 ERR_NOCTCPALLOWED = 492, // XXX: bzzzz. 1459 defines this as ERR_NOSERVICEHOST, research it more and perhaps change this! (ERR_CANNOTSENDTOCHAN?) 00133 // wtf, we also use this for m_noinvite. UGLY! 00134 ERR_DELAYREJOIN = 495, // insp-specific, XXX: we should use 'resource temporarily unavailable' from ircnet/ratbox or whatever 00135 ERR_UNKNOWNSNOMASK = 501, // insp-specific 00136 ERR_USERSDONTMATCH = 502, 00137 ERR_CANTJOINOPERSONLY = 520, // unrealircd, but crap to have so many numerics for cant join.. 00138 ERR_CANTSENDTOUSER = 531, // ??? 00139 00140 RPL_COMMANDS = 702, // insp-specific 00141 RPL_COMMANDSEND = 703, // insp-specific 00142 00143 ERR_WORDFILTERED = 936, // insp-specific, would be nice if we could get rid of this.. 00144 ERR_CANTUNLOADMODULE = 972, // insp-specific 00145 RPL_UNLOADEDMODULE = 973, // insp-specific 00146 ERR_CANTLOADMODULE = 974, // insp-specific 00147 RPL_LOADEDMODULE = 975 // insp-specific 00148 };