191 lines
6.2 KiB
Lua
191 lines
6.2 KiB
Lua
---
|
|
-- This module holds various constants used by the IRC protocol.
|
|
module "irc.constants"
|
|
|
|
-- protocol constants {{{
|
|
IRC_MAX_MSG = 512
|
|
-- }}}
|
|
|
|
-- server replies {{{
|
|
replies = {
|
|
-- Command responses {{{
|
|
[001] = "RPL_WELCOME",
|
|
[002] = "RPL_YOURHOST",
|
|
[003] = "RPL_CREATED",
|
|
[004] = "RPL_MYINFO",
|
|
[005] = "RPL_BOUNCE",
|
|
[302] = "RPL_USERHOST",
|
|
[303] = "RPL_ISON",
|
|
[301] = "RPL_AWAY",
|
|
[305] = "RPL_UNAWAY",
|
|
[306] = "RPL_NOWAWAY",
|
|
[311] = "RPL_WHOISUSER",
|
|
[312] = "RPL_WHOISSERVER",
|
|
[313] = "RPL_WHOISOPERATOR",
|
|
[317] = "RPL_WHOISIDLE",
|
|
[318] = "RPL_ENDOFWHOIS",
|
|
[319] = "RPL_WHOISCHANNELS",
|
|
[314] = "RPL_WHOWASUSER",
|
|
[369] = "RPL_ENDOFWHOWAS",
|
|
[321] = "RPL_LISTSTART",
|
|
[322] = "RPL_LIST",
|
|
[323] = "RPL_LISTEND",
|
|
[325] = "RPL_UNIQOPIS",
|
|
[324] = "RPL_CHANNELMODEIS",
|
|
[331] = "RPL_NOTOPIC",
|
|
[332] = "RPL_TOPIC",
|
|
[341] = "RPL_INVITING",
|
|
[342] = "RPL_SUMMONING",
|
|
[346] = "RPL_INVITELIST",
|
|
[347] = "RPL_ENDOFINVITELIST",
|
|
[348] = "RPL_EXCEPTLIST",
|
|
[349] = "RPL_ENDOFEXCEPTLIST",
|
|
[351] = "RPL_VERSION",
|
|
[352] = "RPL_WHOREPLY",
|
|
[315] = "RPL_ENDOFWHO",
|
|
[353] = "RPL_NAMREPLY",
|
|
[366] = "RPL_ENDOFNAMES",
|
|
[364] = "RPL_LINKS",
|
|
[365] = "RPL_ENDOFLINKS",
|
|
[367] = "RPL_BANLIST",
|
|
[368] = "RPL_ENDOFBANLIST",
|
|
[371] = "RPL_INFO",
|
|
[374] = "RPL_ENDOFINFO",
|
|
[375] = "RPL_MOTDSTART",
|
|
[372] = "RPL_MOTD",
|
|
[376] = "RPL_ENDOFMOTD",
|
|
[381] = "RPL_YOUREOPER",
|
|
[382] = "RPL_REHASHING",
|
|
[383] = "RPL_YOURESERVICE",
|
|
[391] = "RPL_TIME",
|
|
[392] = "RPL_USERSSTART",
|
|
[393] = "RPL_USERS",
|
|
[394] = "RPL_ENDOFUSERS",
|
|
[395] = "RPL_NOUSERS",
|
|
[200] = "RPL_TRACELINK",
|
|
[201] = "RPL_TRACECONNECTING",
|
|
[202] = "RPL_TRACEHANDSHAKE",
|
|
[203] = "RPL_TRACEUNKNOWN",
|
|
[204] = "RPL_TRACEOPERATOR",
|
|
[205] = "RPL_TRACEUSER",
|
|
[206] = "RPL_TRACESERVER",
|
|
[207] = "RPL_TRACESERVICE",
|
|
[208] = "RPL_TRACENEWTYPE",
|
|
[209] = "RPL_TRACECLASS",
|
|
[210] = "RPL_TRACERECONNECT",
|
|
[261] = "RPL_TRACELOG",
|
|
[262] = "RPL_TRACEEND",
|
|
[211] = "RPL_STATSLINKINFO",
|
|
[212] = "RPL_STATSCOMMANDS",
|
|
[219] = "RPL_ENDOFSTATS",
|
|
[242] = "RPL_STATSUPTIME",
|
|
[243] = "RPL_STATSOLINE",
|
|
[221] = "RPL_UMODEIS",
|
|
[234] = "RPL_SERVLIST",
|
|
[235] = "RPL_SERVLISTEND",
|
|
[221] = "RPL_UMODEIS",
|
|
[251] = "RPL_LUSERCLIENT",
|
|
[252] = "RPL_LUSEROP",
|
|
[253] = "RPL_LUSERUNKNOWN",
|
|
[254] = "RPL_LUSERCHANNELS",
|
|
[255] = "RPL_LUSERME",
|
|
[256] = "RPL_ADMINME",
|
|
[257] = "RPL_ADMINLOC1",
|
|
[258] = "RPL_ADMINLOC2",
|
|
[259] = "RPL_ADMINEMAIL",
|
|
[263] = "RPL_TRYAGAIN",
|
|
-- }}}
|
|
-- Error codes {{{
|
|
[401] = "ERR_NOSUCHNICK", -- No such nick/channel
|
|
[402] = "ERR_NOSUCHSERVER", -- No such server
|
|
[403] = "ERR_NOSUCHCHANNEL", -- No such channel
|
|
[404] = "ERR_CANNOTSENDTOCHAN", -- Cannot send to channel
|
|
[405] = "ERR_TOOMANYCHANNELS", -- You have joined too many channels
|
|
[406] = "ERR_WASNOSUCHNICK", -- There was no such nickname
|
|
[407] = "ERR_TOOMANYTARGETS", -- Duplicate recipients. No message delivered
|
|
[408] = "ERR_NOSUCHSERVICE", -- No such service
|
|
[409] = "ERR_NOORIGIN", -- No origin specified
|
|
[411] = "ERR_NORECIPIENT", -- No recipient given
|
|
[412] = "ERR_NOTEXTTOSEND", -- No text to send
|
|
[413] = "ERR_NOTOPLEVEL", -- No toplevel domain specified
|
|
[414] = "ERR_WILDTOPLEVEL", -- Wildcard in toplevel domain
|
|
[415] = "ERR_BADMASK", -- Bad server/host mask
|
|
[421] = "ERR_UNKNOWNCOMMAND", -- Unknown command
|
|
[422] = "ERR_NOMOTD", -- MOTD file is missing
|
|
[423] = "ERR_NOADMININFO", -- No administrative info available
|
|
[424] = "ERR_FILEERROR", -- File error
|
|
[431] = "ERR_NONICKNAMEGIVEN", -- No nickname given
|
|
[432] = "ERR_ERRONEUSNICKNAME", -- Erroneus nickname
|
|
[433] = "ERR_NICKNAMEINUSE", -- Nickname is already in use
|
|
[436] = "ERR_NICKCOLLISION", -- Nickname collision KILL
|
|
[437] = "ERR_UNAVAILRESOURCE", -- Nick/channel is temporarily unavailable
|
|
[441] = "ERR_USERNOTINCHANNEL", -- They aren't on that channel
|
|
[442] = "ERR_NOTONCHANNEL", -- You're not on that channel
|
|
[443] = "ERR_USERONCHANNEL", -- User is already on channel
|
|
[444] = "ERR_NOLOGIN", -- User not logged in
|
|
[445] = "ERR_SUMMONDISABLED", -- SUMMON has been disabled
|
|
[446] = "ERR_USERSDISABLED", -- USERS has been disabled
|
|
[451] = "ERR_NOTREGISTERED", -- You have not registered
|
|
[461] = "ERR_NEEDMOREPARAMS", -- Not enough parameters
|
|
[462] = "ERR_ALREADYREGISTERED", -- You may not reregister
|
|
[463] = "ERR_NOPERMFORHOST", -- Your host isn't among the privileged
|
|
[464] = "ERR_PASSWDMISMATCH", -- Password incorrect
|
|
[465] = "ERR_YOUREBANNEDCREEP", -- You are banned from this server
|
|
[466] = "ERR_YOUWILLBEBANNED",
|
|
[467] = "ERR_KEYSET", -- Channel key already set
|
|
[471] = "ERR_CHANNELISFULL", -- Cannot join channel (+l)
|
|
[472] = "ERR_UNKNOWNMODE", -- Unknown mode char
|
|
[473] = "ERR_INVITEONLYCHAN", -- Cannot join channel (+i)
|
|
[474] = "ERR_BANNEDFROMCHAN", -- Cannot join channel (+b)
|
|
[475] = "ERR_BADCHANNELKEY", -- Cannot join channel (+k)
|
|
[476] = "ERR_BADCHANMASK", -- Bad channel mask
|
|
[477] = "ERR_NOCHANMODES", -- Channel doesn't support modes
|
|
[478] = "ERR_BANLISTFULL", -- Channel list is full
|
|
[481] = "ERR_NOPRIVILEGES", -- Permission denied- You're not an IRC operator
|
|
[482] = "ERR_CHANOPRIVSNEEDED", -- You're not channel operator
|
|
[483] = "ERR_CANTKILLSERVER", -- You can't kill a server!
|
|
[484] = "ERR_RESTRICTED", -- Your connection is restricted!
|
|
[485] = "ERR_UNIQOPPRIVSNEEDED", -- You're not the original channel operator
|
|
[491] = "ERR_NOOPERHOST", -- No O-lines for your host
|
|
[501] = "ERR_UMODEUNKNOWNFLAG", -- Unknown MODE flag
|
|
[502] = "ERR_USERSDONTMATCH", -- Can't change mode for other users
|
|
-- }}}
|
|
-- unused {{{
|
|
[231] = "RPL_SERVICEINFO",
|
|
[232] = "RPL_ENDOFSERVICES",
|
|
[233] = "RPL_SERVICE",
|
|
[300] = "RPL_NONE",
|
|
[316] = "RPL_WHOISCHANOP",
|
|
[361] = "RPL_KILLDONE",
|
|
[362] = "RPL_CLOSING",
|
|
[363] = "RPL_CLOSEEND",
|
|
[373] = "RPL_INFOSTART",
|
|
[384] = "RPL_MYPORTIS",
|
|
[213] = "RPL_STATSCLINE",
|
|
[214] = "RPL_STATSNLINE",
|
|
[215] = "RPL_STATSILINE",
|
|
[216] = "RPL_STATSKLINE",
|
|
[217] = "RPL_STATSQLINE",
|
|
[218] = "RPL_STATSYLINE",
|
|
[240] = "RPL_STATSVLINE",
|
|
[241] = "RPL_STATSLLINE",
|
|
[244] = "RPL_STATSHLINE",
|
|
[246] = "RPL_STATSPING",
|
|
[247] = "RPL_STATSBLINE",
|
|
[250] = "RPL_STATSDLINE",
|
|
[492] = "ERR_NOSERVICEHOST",
|
|
-- }}}
|
|
-- guesses {{{
|
|
[333] = "RPL_TOPICDATE", -- date the topic was set, in seconds since the epoch
|
|
[505] = "ERR_NOTREGISTERED" -- freenode blocking privmsg from unreged users
|
|
-- }}}
|
|
}
|
|
-- }}}
|
|
|
|
-- chanmodes {{{
|
|
chanmodes = {
|
|
["@"] = "secret",
|
|
["*"] = "private",
|
|
["="] = "public"
|
|
}
|
|
-- }}}
|