You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
209 lines
6.1 KiB
209 lines
6.1 KiB
# Copyright (c) 2008 Duncan Fordyce |
|
# Permission is hereby granted, free of charge, to any person obtaining a copy |
|
# of this software and associated documentation files (the "Software"), to deal |
|
# in the Software without restriction, including without limitation the rights |
|
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
|
# copies of the Software, and to permit persons to whom the Software is |
|
# furnished to do so, subject to the following conditions: |
|
# The above copyright notice and this permission notice shall be included in |
|
# all copies or substantial portions of the Software. |
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
|
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
|
# THE SOFTWARE. |
|
|
|
# taken from python irclib.. who took it from... |
|
# Numeric table mostly stolen from the Perl IRC module (Net::IRC). |
|
numeric_events = { |
|
b"001": "welcome", |
|
b"002": "yourhost", |
|
b"003": "created", |
|
b"004": "myinfo", |
|
b"005": "featurelist", # XXX |
|
b"200": "tracelink", |
|
b"201": "traceconnecting", |
|
b"202": "tracehandshake", |
|
b"203": "traceunknown", |
|
b"204": "traceoperator", |
|
b"205": "traceuser", |
|
b"206": "traceserver", |
|
b"207": "traceservice", |
|
b"208": "tracenewtype", |
|
b"209": "traceclass", |
|
b"210": "tracereconnect", |
|
b"211": "statslinkinfo", |
|
b"212": "statscommands", |
|
b"213": "statscline", |
|
b"214": "statsnline", |
|
b"215": "statsiline", |
|
b"216": "statskline", |
|
b"217": "statsqline", |
|
b"218": "statsyline", |
|
b"219": "endofstats", |
|
b"221": "umodeis", |
|
b"231": "serviceinfo", |
|
b"232": "endofservices", |
|
b"233": "service", |
|
b"234": "servlist", |
|
b"235": "servlistend", |
|
b"241": "statslline", |
|
b"242": "statsuptime", |
|
b"243": "statsoline", |
|
b"244": "statshline", |
|
b"250": "luserconns", |
|
b"251": "luserclient", |
|
b"252": "luserop", |
|
b"253": "luserunknown", |
|
b"254": "luserchannels", |
|
b"255": "luserme", |
|
b"256": "adminme", |
|
b"257": "adminloc1", |
|
b"258": "adminloc2", |
|
b"259": "adminemail", |
|
b"261": "tracelog", |
|
b"262": "endoftrace", |
|
b"263": "tryagain", |
|
b"265": "n_local", |
|
b"266": "n_global", |
|
b"300": "none", |
|
b"301": "away", |
|
b"302": "userhost", |
|
b"303": "ison", |
|
b"305": "unaway", |
|
b"306": "nowaway", |
|
b"311": "whoisuser", |
|
b"312": "whoisserver", |
|
b"313": "whoisoperator", |
|
b"314": "whowasuser", |
|
b"315": "endofwho", |
|
b"316": "whoischanop", |
|
b"317": "whoisidle", |
|
b"318": "endofwhois", |
|
b"319": "whoischannels", |
|
b"321": "liststart", |
|
b"322": "list", |
|
b"323": "listend", |
|
b"324": "channelmodeis", |
|
b"329": "channelcreate", |
|
b"331": "notopic", |
|
b"332": "currenttopic", |
|
b"333": "topicinfo", |
|
b"341": "inviting", |
|
b"342": "summoning", |
|
b"346": "invitelist", |
|
b"347": "endofinvitelist", |
|
b"348": "exceptlist", |
|
b"349": "endofexceptlist", |
|
b"351": "version", |
|
b"352": "whoreply", |
|
b"353": "namreply", |
|
b"361": "killdone", |
|
b"362": "closing", |
|
b"363": "closeend", |
|
b"364": "links", |
|
b"365": "endoflinks", |
|
b"366": "endofnames", |
|
b"367": "banlist", |
|
b"368": "endofbanlist", |
|
b"369": "endofwhowas", |
|
b"371": "info", |
|
b"372": "motd", |
|
b"373": "infostart", |
|
b"374": "endofinfo", |
|
b"375": "motdstart", |
|
b"376": "endofmotd", |
|
b"377": "motd2", # 1997-10-16 -- tkil |
|
b"381": "youreoper", |
|
b"382": "rehashing", |
|
b"384": "myportis", |
|
b"391": "time", |
|
b"392": "usersstart", |
|
b"393": "users", |
|
b"394": "endofusers", |
|
b"395": "nousers", |
|
b"401": "nosuchnick", |
|
b"402": "nosuchserver", |
|
b"403": "nosuchchannel", |
|
b"404": "cannotsendtochan", |
|
b"405": "toomanychannels", |
|
b"406": "wasnosuchnick", |
|
b"407": "toomanytargets", |
|
b"409": "noorigin", |
|
b"411": "norecipient", |
|
b"412": "notexttosend", |
|
b"413": "notoplevel", |
|
b"414": "wildtoplevel", |
|
b"421": "unknowncommand", |
|
b"422": "nomotd", |
|
b"423": "noadmininfo", |
|
b"424": "fileerror", |
|
b"431": "nonicknamegiven", |
|
b"432": "erroneusnickname", # Thiss iz how its speld in thee RFC. |
|
b"433": "nicknameinuse", |
|
b"436": "nickcollision", |
|
b"437": "unavailresource", # "Nick temporally unavailable" |
|
b"441": "usernotinchannel", |
|
b"442": "notonchannel", |
|
b"443": "useronchannel", |
|
b"444": "nologin", |
|
b"445": "summondisabled", |
|
b"446": "usersdisabled", |
|
b"451": "notregistered", |
|
b"461": "needmoreparams", |
|
b"462": "alreadyregistered", |
|
b"463": "nopermforhost", |
|
b"464": "passwdmismatch", |
|
b"465": "yourebannedcreep", # I love this one... |
|
b"466": "youwillbebanned", |
|
b"467": "keyset", |
|
b"471": "channelisfull", |
|
b"472": "unknownmode", |
|
b"473": "inviteonlychan", |
|
b"474": "bannedfromchan", |
|
b"475": "badchannelkey", |
|
b"476": "badchanmask", |
|
b"477": "nochanmodes", # "Channel doesn't support modes" |
|
b"478": "banlistfull", |
|
b"481": "noprivileges", |
|
b"482": "chanoprivsneeded", |
|
b"483": "cantkillserver", |
|
b"484": "restricted", # Connection is restricted |
|
b"485": "uniqopprivsneeded", |
|
b"491": "nooperhost", |
|
b"492": "noservicehost", |
|
b"501": "umodeunknownflag", |
|
b"502": "usersdontmatch", |
|
} |
|
|
|
generated_events = [ |
|
# Generated events |
|
"dcc_connect", |
|
"dcc_disconnect", |
|
"dccmsg", |
|
"disconnect", |
|
"ctcp", |
|
"ctcpreply", |
|
] |
|
|
|
protocol_events = [ |
|
# IRC protocol events |
|
"error", |
|
"join", |
|
"kick", |
|
"mode", |
|
"part", |
|
"ping", |
|
"privmsg", |
|
"privnotice", |
|
"pubmsg", |
|
"pubnotice", |
|
"quit", |
|
"invite", |
|
"pong", |
|
] |
|
|
|
all_events = generated_events + protocol_events + list(numeric_events.values()) |
|
|
|
|