3 -- protocol constants {{{
9 -- Command responses {{{
10 [001] = "RPL_WELCOME",
11 [002] = "RPL_YOURHOST",
12 [003] = "RPL_CREATED",
15 [302] = "RPL_USERHOST",
19 [306] = "RPL_NOWAWAY",
20 [311] = "RPL_WHOISUSER",
21 [312] = "RPL_WHOISSERVER",
22 [313] = "RPL_WHOISOPERATOR",
23 [317] = "RPL_WHOISIDLE",
24 [318] = "RPL_ENDOFWHOIS",
25 [319] = "RPL_WHOISCHANNELS",
26 [314] = "RPL_WHOWASUSER",
27 [369] = "RPL_ENDOFWHOWAS",
28 [321] = "RPL_LISTSTART",
30 [323] = "RPL_LISTEND",
31 [325] = "RPL_UNIQOPIS",
32 [324] = "RPL_CHANNELMODEIS",
33 [331] = "RPL_NOTOPIC",
35 [341] = "RPL_INVITING",
36 [342] = "RPL_SUMMONING",
37 [346] = "RPL_INVITELIST",
38 [347] = "RPL_ENDOFINVITELIST",
39 [348] = "RPL_EXCEPTLIST",
40 [349] = "RPL_ENDOFEXCEPTLIST",
41 [351] = "RPL_VERSION",
42 [352] = "RPL_WHOREPLY",
43 [315] = "RPL_ENDOFWHO",
44 [353] = "RPL_NAMREPLY",
45 [366] = "RPL_ENDOFNAMES",
47 [365] = "RPL_ENDOFLINKS",
48 [367] = "RPL_BANLIST",
49 [368] = "RPL_ENDOFBANLIST",
51 [374] = "RPL_ENDOFINFO",
52 [375] = "RPL_MOTDSTART",
54 [376] = "RPL_ENDOFMOTD",
55 [381] = "RPL_YOUREOPER",
56 [382] = "RPL_REHASHING",
57 [383] = "RPL_YOURESERVICE",
59 [392] = "RPL_USERSSTART",
61 [394] = "RPL_ENDOFUSERS",
62 [395] = "RPL_NOUSERS",
63 [200] = "RPL_TRACELINK",
64 [201] = "RPL_TRACECONNECTING",
65 [202] = "RPL_TRACEHANDSHAKE",
66 [203] = "RPL_TRACEUNKNOWN",
67 [204] = "RPL_TRACEOPERATOR",
68 [205] = "RPL_TRACEUSER",
69 [206] = "RPL_TRACESERVER",
70 [207] = "RPL_TRACESERVICE",
71 [208] = "RPL_TRACENEWTYPE",
72 [209] = "RPL_TRACECLASS",
73 [210] = "RPL_TRACERECONNECT",
74 [261] = "RPL_TRACELOG",
75 [262] = "RPL_TRACEEND",
76 [211] = "RPL_STATSLINKINFO",
77 [212] = "RPL_STATSCOMMANDS",
78 [219] = "RPL_ENDOFSTATS",
79 [242] = "RPL_STATSUPTIME",
80 [243] = "RPL_STATSOLINE",
81 [221] = "RPL_UMODEIS",
82 [234] = "RPL_SERVLIST",
83 [235] = "RPL_SERVLISTEND",
84 [221] = "RPL_UMODEIS",
85 [251] = "RPL_LUSERCLIENT",
86 [252] = "RPL_LUSEROP",
87 [253] = "RPL_LUSERUNKNOWN",
88 [254] = "RPL_LUSERCHANNELS",
89 [255] = "RPL_LUSERME",
90 [256] = "RPL_ADMINME",
91 [257] = "RPL_ADMINLOC1",
92 [258] = "RPL_ADMINLOC2",
93 [259] = "RPL_ADMINEMAIL",
94 [263] = "RPL_TRYAGAIN",
97 [401] = "ERR_NOSUCHNICK", -- No such nick/channel
98 [402] = "ERR_NOSUCHSERVER", -- No such server
99 [403] = "ERR_NOSUCHCHANNEL", -- No such channel
100 [404] = "ERR_CANNOTSENDTOCHAN", -- Cannot send to channel
101 [405] = "ERR_TOOMANYCHANNELS", -- You have joined too many channels
102 [406] = "ERR_WASNOSUCHNICK", -- There was no such nickname
103 [407] = "ERR_TOOMANYTARGETS", -- Duplicate recipients. No message delivered
104 [408] = "ERR_NOSUCHSERVICE", -- No such service
105 [409] = "ERR_NOORIGIN", -- No origin specified
106 [411] = "ERR_NORECIPIENT", -- No recipient given
107 [412] = "ERR_NOTEXTTOSEND", -- No text to send
108 [413] = "ERR_NOTOPLEVEL", -- No toplevel domain specified
109 [414] = "ERR_WILDTOPLEVEL", -- Wildcard in toplevel domain
110 [415] = "ERR_BADMASK", -- Bad server/host mask
111 [421] = "ERR_UNKNOWNCOMMAND", -- Unknown command
112 [422] = "ERR_NOMOTD", -- MOTD file is missing
113 [423] = "ERR_NOADMININFO", -- No administrative info available
114 [424] = "ERR_FILEERROR", -- File error
115 [431] = "ERR_NONICKNAMEGIVEN", -- No nickname given
116 [432] = "ERR_ERRONEUSNICKNAME", -- Erroneus nickname
117 [433] = "ERR_NICKNAMEINUSE", -- Nickname is already in use
118 [436] = "ERR_NICKCOLLISION", -- Nickname collision KILL
119 [437] = "ERR_UNAVAILRESOURCE", -- Nick/channel is temporarily unavailable
120 [441] = "ERR_USERNOTINCHANNEL", -- They aren't on that channel
121 [442] = "ERR_NOTONCHANNEL", -- You're not on that channel
122 [443] = "ERR_USERONCHANNEL", -- User is already on channel
123 [444] = "ERR_NOLOGIN", -- User not logged in
124 [445] = "ERR_SUMMONDISABLED", -- SUMMON has been disabled
125 [446] = "ERR_USERSDISABLED", -- USERS has been disabled
126 [451] = "ERR_NOTREGISTERED", -- You have not registered
127 [461] = "ERR_NEEDMOREPARAMS", -- Not enough parameters
128 [462] = "ERR_ALREADYREGISTERED", -- You may not reregister
129 [463] = "ERR_NOPERMFORHOST", -- Your host isn't among the privileged
130 [464] = "ERR_PASSWDMISMATCH", -- Password incorrect
131 [465] = "ERR_YOUREBANNEDCREEP", -- You are banned from this server
132 [466] = "ERR_YOUWILLBEBANNED",
133 [467] = "ERR_KEYSET", -- Channel key already set
134 [471] = "ERR_CHANNELISFULL", -- Cannot join channel (+l)
135 [472] = "ERR_UNKNOWNMODE", -- Unknown mode char
136 [473] = "ERR_INVITEONLYCHAN", -- Cannot join channel (+i)
137 [474] = "ERR_BANNEDFROMCHAN", -- Cannot join channel (+b)
138 [475] = "ERR_BADCHANNELKEY", -- Cannot join channel (+k)
139 [476] = "ERR_BADCHANMASK", -- Bad channel mask
140 [477] = "ERR_NOCHANMODES", -- Channel doesn't support modes
141 [478] = "ERR_BANLISTFULL", -- Channel list is full
142 [481] = "ERR_NOPRIVILEGES", -- Permission denied- You're not an IRC operator
143 [482] = "ERR_CHANOPRIVSNEEDED", -- You're not channel operator
144 [483] = "ERR_CANTKILLSERVER", -- You can't kill a server!
145 [484] = "ERR_RESTRICTED", -- Your connection is restricted!
146 [485] = "ERR_UNIQOPPRIVSNEEDED", -- You're not the original channel operator
147 [491] = "ERR_NOOPERHOST", -- No O-lines for your host
148 [501] = "ERR_UMODEUNKNOWNFLAG", -- Unknown MODE flag
149 [502] = "ERR_USERSDONTMATCH", -- Can't change mode for other users
152 [231] = "RPL_SERVICEINFO",
153 [232] = "RPL_ENDOFSERVICES",
154 [233] = "RPL_SERVICE",
156 [316] = "RPL_WHOISCHANOP",
157 [361] = "RPL_KILLDONE",
158 [362] = "RPL_CLOSING",
159 [363] = "RPL_CLOSEEND",
160 [373] = "RPL_INFOSTART",
161 [384] = "RPL_MYPORTIS",
162 [213] = "RPL_STATSCLINE",
163 [214] = "RPL_STATSNLINE",
164 [215] = "RPL_STATSILINE",
165 [216] = "RPL_STATSKLINE",
166 [217] = "RPL_STATSQLINE",
167 [218] = "RPL_STATSYLINE",
168 [240] = "RPL_STATSVLINE",
169 [241] = "RPL_STATSLLINE",
170 [244] = "RPL_STATSHLINE",
171 [246] = "RPL_STATSPING",
172 [247] = "RPL_STATSBLINE",
173 [250] = "RPL_STATSDLINE",
174 [492] = "ERR_NOSERVICEHOST",
177 [333] = "RPL_TOPICDATE", -- date the topic was set, in seconds since the epoch
178 [505] = "ERR_NOTREGISTERED" -- freenode blocking privmsg from unreged users