-- Written by Moritz Hoffmann 2006, part of the orx-irc project
-- Released under the BSD license


::CLASS config_init
::METHOD init CLASS
.local["IRC.EVENT.TEST"] = .array~of("OnTest")

--  Default timeout for scripts (seconds)
.local['IRC.TIMEOUT.SCRIPTS'] = 30

.local['IRC.EVENT.CREATECHANNEL']	=.array~of("ONCREATECHANNEL")

.local['IRC.EVENT.ErrorInEvent'] =.array~of("EventError")

.local["IRC.EVENT.INIT"]	=.array~of("ONINIT")
.local['IRC.EVENT.CONNECT']	=.array~of("ONCONNECT")
.local['IRC.EVENT.DISCONNECT']	=.array~of("ONDISCONNECT")
.local['IRC.EVENT.RAW']	=.array~of("ONRAW")
-- Pseudo-Event, it's called ever time something is written by the client on the socket
.local['IRC.EVENT.WRITE']	=.array~of("ONWRITE")
.local['IRC.EVENT.NUMRPL']	=.array~of("ONNUMRPL")
.local['IRC.EVENT.NUMRPL.001']	=.array~of("RPL_WELCOME",       "ONRPL_001","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.002']	=.array~of("RPL_YOURHOST",      "ONRPL_002","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.003']	=.array~of("RPL_CREATED",       "ONRPL_003","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.004']	=.array~of("RPL_MYINFO",        "ONRPL_004","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.005']	=.array~of("RPL_ISUPPORT",      "ONRPL_005","ONNUMRPL")
-- could be RPL_BOUCE as well, but hardly any server uses 005 to indicate bounces
-- RPL_BOUNCE has been moved to 010 instead
.local['IRC.EVENT.NUMRPL.010'] = .array~of("RPL_BOUNCE",        "ONRPL_010","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.200'] = .array~of("RPL_TRACELINK",     "ONRPL_200","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.201'] = .array~of("RPL_TRACECONNECTING",       "ONRPL_201","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.202'] = .array~of("RPL_TRACEHANDSHAKE",        "ONRPL_202","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.203'] = .array~of("RPL_TRACEUNKNOWN",  "ONRPL_203","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.204'] = .array~of("RPL_TRACEOPERATOR", "ONRPL_204","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.205'] = .array~of("RPL_TRACEUSER",     "ONRPL_205","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.206'] = .array~of("RPL_TRACESERVER",   "ONRPL_206","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.207'] = .array~of("RPL_TRACESERVICE",  "ONRPL_207","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.208'] = .array~of("RPL_TRACENEWTYPE",  "ONRPL_208","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.209'] = .array~of("RPL_TRACECLASS",    "ONRPL_209","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.210'] = .array~of("RPL_TRACERECONNECT",        "ONRPL_210","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.211'] = .array~of("RPL_STATSLINKINFO", "ONRPL_211","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.212'] = .array~of("RPL_STATSCOMMANDS", "ONRPL_212","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.213'] = .array~of("RPL_STATSCLINE",    "ONRPL_213","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.214'] = .array~of("RPL_STATSNLINE",    "ONRPL_214","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.215'] = .array~of("RPL_STATSILINE",    "ONRPL_215","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.216'] = .array~of("RPL_STATSKLINE",    "ONRPL_216","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.217'] = .array~of("RPL_STATSQLINE",    "ONRPL_217","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.218'] = .array~of("RPL_STATSYLINE",    "ONRPL_218","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.219'] = .array~of("RPL_ENDOFSTATS",    "ONRPL_219","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.221'] = .array~of("RPL_UMODEIS",       "ONRPL_221","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.225'] = .array~of("RPL_SERVLISTEND",   "ONRPL_235","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.231'] = .array~of("RPL_SERVICEINFO",   "ONRPL_231","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.232'] = .array~of("RPL_ENDOFSERVICES", "ONRPL_232","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.233'] = .array~of("RPL_SERVICE",       "ONRPL_233","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.234'] = .array~of("RPL_SERVLIST",      "ONRPL_234","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.235'] = .array~of("RPL_SERVLISTEND",   "ONRPL_235","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.240'] = .array~of("RPL_STATSVLINE",    "ONRPL_240","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.241'] = .array~of("RPL_STATSLLINE",    "ONRPL_241","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.242'] = .array~of("RPL_STATSUPTIME",   "ONRPL_242","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.243'] = .array~of("RPL_STATSOLINE",    "ONRPL_243","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.244'] = .array~of("RPL_STATSHLINE",    "ONRPL_244","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.246'] = .array~of("RPL_STATSPING",     "ONRPL_246","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.247'] = .array~of("RPL_STATSBLINE",    "ONRPL_247","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.250'] = .array~of("RPL_STATSDLINE",    "ONRPL_250","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.251'] = .array~of("RPL_LUSERCLIENT",   "ONRPL_251","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.252'] = .array~of("RPL_LUSEROP",       "ONRPL_252","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.253'] = .array~of("RPL_LUSERUNKNOWN",  "ONRPL_253","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.254'] = .array~of("RPL_LUSERCHANNELS", "ONRPL_254","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.255'] = .array~of("RPL_LUSERME",       "ONRPL_255","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.256'] = .array~of("RPL_ADMINME",       "ONRPL_256","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.257'] = .array~of("RPL_ADMINLOC1",     "ONRPL_257","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.258'] = .array~of("RPL_ADMINLOC2",     "ONRPL_258","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.259'] = .array~of("RPL_ADMINEMAIL",    "ONRPL_259","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.261'] = .array~of("RPL_TRACELOG",      "ONRPL_261","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.262'] = .array~of("RPL_TRACEEND",      "ONRPL_262","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.263'] = .array~of("RPL_TRYAGAIN",      "ONRPL_263","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.265'] = .array~of("RPL_LOCALUSERS",    "ONRPL_265","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.266'] = .array~of("RPL_GLOBALUSERS",   "ONRPL_266","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.300'] = .array~of("RPL_NONE",  "ONRPL_300","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.301'] = .array~of("RPL_AWAY",  "ONRPL_301","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.302'] = .array~of("RPL_USERHOST",      "ONRPL_302","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.303'] = .array~of("RPL_ISON",  "ONRPL_303","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.305'] = .array~of("RPL_UNAWAY",        "ONRPL_305","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.306'] = .array~of("RPL_NOWAWAY",       "ONRPL_306","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.311'] = .array~of("RPL_WHOISUSER",     "ONRPL_311","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.312'] = .array~of("RPL_WHOISSERVER",   "ONRPL_312","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.313'] = .array~of("RPL_WHOISOPERATOR", "ONRPL_313","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.314'] = .array~of("RPL_WHOWASUSER",    "ONRPL_314","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.315'] = .array~of("RPL_ENDOFWHO",      "ONRPL_315","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.317'] = .array~of("RPL_WHOISIDLE",     "ONRPL_317","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.318'] = .array~of("RPL_ENDOFWHOIS",    "ONRPL_318","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.319'] = .array~of("RPL_WHOISCHANNELS", "ONRPL_319","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.321'] = .array~of("RPL_LISTSTART",     "ONRPL_321","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.322'] = .array~of("RPL_LIST",          "ONRPL_322","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.323'] = .array~of("RPL_LISTEND",       "ONRPL_323","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.324'] = .array~of("RPL_CHANNELMODEIS", "ONRPL_324","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.325'] = .array~of("RPL_UNIQOPIS",      "ONRPL_325","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.329'] = .array~of("RPL_CREATIONTIME",  "ONRPL_329","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.331'] = .array~of("RPL_NOTOPIC",       "ONRPL_331","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.332'] = .array~of("RPL_TOPIC",         "ONRPL_332","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.333'] = .array~of("RPL_TOPICWHOTIME",  "ONRPL_333","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.341'] = .array~of("RPL_INVITING",      "ONRPL_341","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.342'] = .array~of("RPL_SUMMONING",     "ONRPL_342","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.346'] = .array~of("RPL_INVITELIST",    "ONRPL_346","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.347'] = .array~of("RPL_ENDOFINVITELIST",       "ONRPL_347","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.348'] = .array~of("RPL_EXCEPTLIST",    "ONRPL_348","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.349'] = .array~of("RPL_ENDOFEXCEPTLIST",       "ONRPL_349","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.351'] = .array~of("RPL_VERSION",       "ONRPL_351","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.352'] = .array~of("RPL_WHOREPLY",      "ONRPL_352","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.353'] = .array~of("RPL_NAMREPLY",      "ONRPL_353","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.364'] = .array~of("RPL_LINKS",         "ONRPL_364","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.365'] = .array~of("RPL_ENDOFLINKS",    "ONRPL_365","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.366'] = .array~of("RPL_ENDOFNAMES",    "ONRPL_366","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.367'] = .array~of("RPL_BANLIST",       "ONRPL_367","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.368'] = .array~of("RPL_ENDOFBANLIST",  "ONRPL_368","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.369'] = .array~of("RPL_ENDOFWHOWAS",   "ONRPL_369","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.371'] = .array~of("RPL_INFO",          "ONRPL_371","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.372'] = .array~of("RPL_MOTD",          "ONRPL_372","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.374'] = .array~of("RPL_ENDOFINFO",     "ONRPL_374","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.375'] = .array~of("RPL_MOTDSTART",     "ONRPL_375","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.376'] = .array~of("RPL_ENDOFMOTD",     "ONRPL_376","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.381'] = .array~of("RPL_YOUREOPER",     "ONRPL_381","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.382'] = .array~of("RPL_REHASHING",     "ONRPL_382","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.383'] = .array~of("RPL_YOURESERVICE",  "ONRPL_383","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.391'] = .array~of("RPL_TIME",          "ONRPL_391","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.392'] = .array~of("RPL_USERSSTART",    "ONRPL_392","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.393'] = .array~of("RPL_USERS",         "ONRPL_393","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.394'] = .array~of("RPL_ENDOFUSERS",    "ONRPL_394","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.395'] = .array~of("RPL_NOUSERS",       "ONRPL_395","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.401'] = .array~of("ERR_NOSUCHNICK",    "ONRPL_401","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.402'] = .array~of("ERR_NOSUCHSERVER",  "ONRPL_402","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.403'] = .array~of("ERR_NOSUCHCHANNEL", "ONRPL_403","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.404'] = .array~of("ERR_CANNOTSENDTOCHAN",      "ONRPL_404","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.405'] = .array~of("ERR_TOOMANYCHANNELS",       "ONRPL_405","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.406'] = .array~of("ERR_WASNOSUCHNICK", "ONRPL_406","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.407'] = .array~of("ERR_TOOMANYTARGETS",        "ONRPL_407","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.408'] = .array~of("ERR_NOSUCHSERVICE", "ONRPL_408","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.409'] = .array~of("ERR_NOORIGIN",      "ONRPL_409","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.411'] = .array~of("ERR_NORECIPIENT",   "ONRPL_411","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.412'] = .array~of("ERR_NOTEXTTOSEND",  "ONRPL_412","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.413'] = .array~of("ERR_NOTOPLEVEL",    "ONRPL_413","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.414'] = .array~of("ERR_WILDTOPLEVEL",  "ONRPL_414","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.415'] = .array~of("ERR_BADMASK",       "ONRPL_415","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.421'] = .array~of("ERR_UNKNOWNCOMMAND",        "ONRPL_421","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.422'] = .array~of("ERR_NOMOTD",        "ONRPL_422","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.423'] = .array~of("ERR_NOADMININFO",   "ONRPL_423","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.424'] = .array~of("ERR_FILEERROR",     "ONRPL_424","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.431'] = .array~of("ERR_NONICKNAMEGIVEN",       "ONRPL_431","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.432'] = .array~of("ERR_ERRONEUSNICKNAME",      "ONRPL_432","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.433'] = .array~of("ERR_NICKNAMEINUSE", "ONRPL_433","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.436'] = .array~of("ERR_NICKCOLLISION", "ONRPL_436","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.437'] = .array~of("ERR_UNAVAILRESOURCE",       "ONRPL_437","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.441'] = .array~of("ERR_USERNOTINCHANNEL",      "ONRPL_441","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.442'] = .array~of("ERR_NOTONCHANNEL",  "ONRPL_442","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.443'] = .array~of("ERR_USERONCHANNEL", "ONRPL_443","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.444'] = .array~of("ERR_NOLOGIN",       "ONRPL_444","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.445'] = .array~of("ERR_SUMMONDISABLED",        "ONRPL_445","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.446'] = .array~of("ERR_USERSDISABLED", "ONRPL_446","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.451'] = .array~of("ERR_NOTREGISTERED", "ONRPL_451","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.461'] = .array~of("ERR_NEEDMOREPARAMS",        "ONRPL_461","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.462'] = .array~of("ERR_ALREADYREGISTRED",      "ONRPL_462","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.463'] = .array~of("ERR_NOPERMFORHOST",         "ONRPL_463","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.464'] = .array~of("ERR_PASSWDMISMATCH",        "ONRPL_464","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.465'] = .array~of("ERR_YOUREBANNEDCREEP",      "ONRPL_465","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.466'] = .array~of("ERR_YOUWILLBEBANNED",       "ONRPL_466","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.467'] = .array~of("ERR_KEYSET",        "ONRPL_467","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.471'] = .array~of("ERR_CHANNELISFULL", "ONRPL_471","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.472'] = .array~of("ERR_UNKNOWNMODE",   "ONRPL_472","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.473'] = .array~of("ERR_INVITEONLYCHAN",        "ONRPL_473","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.474'] = .array~of("ERR_BANNEDFROMCHAN",        "ONRPL_474","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.475'] = .array~of("ERR_BADCHANNELKEY", "ONRPL_475","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.476'] = .array~of("ERR_BADCHANMASK",   "ONRPL_476","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.477'] = .array~of("ERR_NOCHANMODES",   "ONRPL_477","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.478'] = .array~of("ERR_BANLISTFULL",   "ONRPL_478","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.481'] = .array~of("ERR_NOPRIVILEGES",  "ONRPL_481","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.482'] = .array~of("ERR_CHANOPRIVSNEEDED",      "ONRPL_482","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.483'] = .array~of("ERR_CANTKILLSERVER",        "ONRPL_483","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.484'] = .array~of("ERR_RESTRICTED",    "ONRPL_484","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.485'] = .array~of("ERR_UNIQOPPRIVSNEEDED",     "ONRPL_485","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.491'] = .array~of("ERR_NOOPERHOST",    "ONRPL_491","ONNUMRPL")

.local['IRC.EVENT.NUMRPL.501'] = .array~of("ERR_UMODEUNKNOWNFLAG",      "ONRPL_501","ONNUMRPL")
.local['IRC.EVENT.NUMRPL.502'] = .array~of("ERR_USERSDONTMATCH",        "ONRPL_502","ONNUMRPL")

-- .local['IRC.EVENT.NUMRPL.'] = .array~of("",     "ONRPL_","ONNUMRPL")
.local['IRC.EVENT.UMODE'] =     .array~of("ONUSERMODE","ONMODE")
.local['IRC.EVENT.CMODE'] =     .array~of("ONCHANNELMODE","ONMODE")
.local['IRC.EVENT.CPRIVMSG'] =  .array~of("ONCHANNELPRIVMSG","ONPRIVMSG","OnSay")
.local['IRC.EVENT.UPRIVMSG'] =  .array~of("ONUSERPRIVMSG","ONPRIVMSG","OnSay")
.local['IRC.EVENT.CNOTICE'] =   .array~of("ONCHANNELNOTICE","ONNOTICE")
.local['IRC.EVENT.UNOTICE'] =   .array~of("ONUSERNOTICE","ONNOTICE")
.local['IRC.EVENT.SNOTICE'] =   .array~of("ONSERVERNOTICE","ONSNOTICE")

.local['IRC.EVENT.WALLOPS'] =   .array~of("ONWALLOPS")

-- These events are created by the client only, aren't they?
.local['IRC.EVENT.JOIN'] =      .array~of("ONJOIN")
.local['IRC.EVENT.PART'] =      .array~of("ONPART")
.local['IRC.EVENT.KICK'] =      .array~of("ONKICK")
.local['IRC.EVENT.TOPIC'] =     .array~of("ONTOPIC")

.local['IRC.EVENT.NICK'] =      .array~of("ONNICK")
.local['IRC.EVENT.QUIT'] =      .array~of("ONQUIT")
.local['IRC.EVENT.KILL'] =      .array~of("ONKILL")



.local['IRC.EVENT.CTCP'] =      .array~of("ONCTCP")
.local['IRC.EVENT.CTCP.ACTION'] =       .array~of("OnAction","ONCTCPACTION","ONCTCP")
.local['IRC.EVENT.CTCP.CLIENTINFO'] =   .array~of("ONCTCPCLIENTINFO","ONCTCP")
.local['IRC.EVENT.CTCP.EXT'] =  .array~of("ONCTCPEXT","ONCTCP")
.local['IRC.EVENT.CTCP.DCC'] =  .array~of("ONCTCPDCC","ONCTCP")
.local['IRC.EVENT.CTCP.FINGER'] =       .array~of("ONCTCPFINGER","ONCTCP")
.local['IRC.EVENT.CTCP.PING'] = .array~of("ONCTCPPING","ONCTCP")
.local['IRC.EVENT.CTCP.SCR'] =  .array~of("ONCTCPSCR","ONCTCP")
.local['IRC.EVENT.CTCP.TIME'] = .array~of("ONCTCPTIME","ONCTCP")
.local['IRC.EVENT.CTCP.URL'] =  .array~of("ONCTCPURL","ONCTCP")
.local['IRC.EVENT.CTCP.USERINFO'] =     .array~of("ONCTCPUSERINFO","ONCTCP")
.local['IRC.EVENT.CTCP.VERSION'] =      .array~of("ONCTCPVERSION","ONCTCP")
.local['IRC.EVENT.CTCP.XDCC'] = .array~of("ONCTCPXDCC","ONCTCP")

--  events caused by the client itself
.local['IRC.EVENT.SELFNOTICE'] =        .array~of("ONSELFNOTICE","OnNotice")
.local['IRC.EVENT.SELFSAY'] =   .array~of("ONSELFPRIVMSG","OnSelfSay","OnSay")
.local['IRC.EVENT.CTCPREPLY'] = .array~of("OnCTCPReply")

