{-# Language PatternSynonyms #-} {-| Module : Irc.Codes Description : Helpers for interpreting IRC reply codes Copyright : (c) Eric Mertens, 2016 License : ISC Maintainer : emertens@gmail.com This module defines support for working with IRC's numeric reply codes. Pattern synonyms are provided for each of the possible IRC reply codes. Reply code information was extracted from https://www.alien.net.au/irc/irc2numerics.html -} module Irc.Codes where -- | Categories for reply codes data ReplyType = ClientServerReply -- ^ 0-99 Messages between client and server | CommandReply -- ^ 200-399 Responses to commands | ErrorReply -- ^ 200-399 Errors | CustomReply -- ^ Uncategorized -- | Categorize replies according to the ranges provided in RFC 2812 replyType :: Int {- reply code -} -> ReplyType replyType x | 000 <= x, x < 100 = ClientServerReply | 200 <= x, x < 400 = CommandReply | 400 <= x, x < 600 = ErrorReply | otherwise = CustomReply pattern RPL_WELCOME :: Int pattern RPL_WELCOME = 001 pattern RPL_YOURHOST :: Int pattern RPL_YOURHOST = 002 pattern RPL_CREATED :: Int pattern RPL_CREATED = 003 pattern RPL_MYINFO :: Int pattern RPL_MYINFO = 004 pattern RPL_ISUPPORT :: Int pattern RPL_ISUPPORT = 005 pattern RPL_SNOMASK :: Int pattern RPL_SNOMASK = 008 pattern RPL_STATMEMTOT :: Int pattern RPL_STATMEMTOT = 009 pattern RPL_BOUNCE :: Int pattern RPL_BOUNCE = 010 pattern RPL_STATMEM :: Int pattern RPL_STATMEM = 010 pattern RPL_YOURCOOKIE :: Int pattern RPL_YOURCOOKIE = 014 pattern RPL_YOURID :: Int pattern RPL_YOURID = 042 pattern RPL_SAVENICK :: Int pattern RPL_SAVENICK = 043 pattern RPL_ATTEMPTINGJUNC :: Int pattern RPL_ATTEMPTINGJUNC = 050 pattern RPL_ATTEMPTINGREROUTE :: Int pattern RPL_ATTEMPTINGREROUTE = 051 pattern RPL_TRACELINK :: Int pattern RPL_TRACELINK = 200 pattern RPL_TRACECONNECTING :: Int pattern RPL_TRACECONNECTING = 201 pattern RPL_TRACEHANDSHAKE :: Int pattern RPL_TRACEHANDSHAKE = 202 pattern RPL_TRACEUNKNOWN :: Int pattern RPL_TRACEUNKNOWN = 203 pattern RPL_TRACEOPERATOR :: Int pattern RPL_TRACEOPERATOR = 204 pattern RPL_TRACEUSER :: Int pattern RPL_TRACEUSER = 205 pattern RPL_TRACESERVER :: Int pattern RPL_TRACESERVER = 206 pattern RPL_TRACESERVICE :: Int pattern RPL_TRACESERVICE = 207 pattern RPL_TRACENEWTYPE :: Int pattern RPL_TRACENEWTYPE = 208 pattern RPL_TRACECLASS :: Int pattern RPL_TRACECLASS = 209 pattern RPL_TRACERECONNECT :: Int pattern RPL_TRACERECONNECT = 210 pattern RPL_STATS :: Int pattern RPL_STATS = 210 pattern RPL_STATSLINKINFO :: Int pattern RPL_STATSLINKINFO = 211 pattern RPL_STATSCOMMANDS :: Int pattern RPL_STATSCOMMANDS = 212 pattern RPL_STATSCLINE :: Int pattern RPL_STATSCLINE = 213 pattern RPL_STATSILINE :: Int pattern RPL_STATSILINE = 215 pattern RPL_STATSKLINE :: Int pattern RPL_STATSKLINE = 216 pattern RPL_STATSYLINE :: Int pattern RPL_STATSYLINE = 218 pattern RPL_ENDOFSTATS :: Int pattern RPL_ENDOFSTATS = 219 pattern RPL_UMODEIS :: Int pattern RPL_UMODEIS = 221 pattern RPL_SQLINE_NICK :: Int pattern RPL_SQLINE_NICK = 222 pattern RPL_STATSDLINE :: Int pattern RPL_STATSDLINE = 225 pattern RPL_STATSZLINE :: Int pattern RPL_STATSZLINE = 225 pattern RPL_STATSCOUNT :: Int pattern RPL_STATSCOUNT = 226 pattern RPL_SERVICEINFO :: Int pattern RPL_SERVICEINFO = 231 pattern RPL_ENDOFSERVICES :: Int pattern RPL_ENDOFSERVICES = 232 pattern RPL_SERVICE :: Int pattern RPL_SERVICE = 233 pattern RPL_SERVLIST :: Int pattern RPL_SERVLIST = 234 pattern RPL_SERVLISTEND :: Int pattern RPL_SERVLISTEND = 235 pattern RPL_STATSVERBOSE :: Int pattern RPL_STATSVERBOSE = 236 pattern RPL_STATSIAUTH :: Int pattern RPL_STATSIAUTH = 239 pattern RPL_STATSLLINE :: Int pattern RPL_STATSLLINE = 241 pattern RPL_STATSUPTIME :: Int pattern RPL_STATSUPTIME = 242 pattern RPL_STATSOLINE :: Int pattern RPL_STATSOLINE = 243 pattern RPL_STATSHLINE :: Int pattern RPL_STATSHLINE = 244 pattern RPL_STATSSLINE :: Int pattern RPL_STATSSLINE = 245 pattern RPL_STATSPING :: Int pattern RPL_STATSPING = 246 pattern RPL_STATSDEFINE :: Int pattern RPL_STATSDEFINE = 248 pattern RPL_STATSDEBUG :: Int pattern RPL_STATSDEBUG = 249 pattern RPL_STATSCONN :: Int pattern RPL_STATSCONN = 250 pattern RPL_LUSERCLIENT :: Int pattern RPL_LUSERCLIENT = 251 pattern RPL_LUSEROP :: Int pattern RPL_LUSEROP = 252 pattern RPL_LUSERUNKNOWN :: Int pattern RPL_LUSERUNKNOWN = 253 pattern RPL_LUSERCHANNELS :: Int pattern RPL_LUSERCHANNELS = 254 pattern RPL_LUSERME :: Int pattern RPL_LUSERME = 255 pattern RPL_ADMINME :: Int pattern RPL_ADMINME = 256 pattern RPL_ADMINLOC1 :: Int pattern RPL_ADMINLOC1 = 257 pattern RPL_ADMINLOC2 :: Int pattern RPL_ADMINLOC2 = 258 pattern RPL_ADMINEMAIL :: Int pattern RPL_ADMINEMAIL = 259 pattern RPL_TRACELOG :: Int pattern RPL_TRACELOG = 261 pattern RPL_TRACEPING :: Int pattern RPL_TRACEPING = 262 pattern RPL_TRACEEND :: Int pattern RPL_TRACEEND = 262 pattern RPL_TRYAGAIN :: Int pattern RPL_TRYAGAIN = 263 pattern RPL_LOCALUSERS :: Int pattern RPL_LOCALUSERS = 265 pattern RPL_GLOBALUSERS :: Int pattern RPL_GLOBALUSERS = 266 pattern RPL_START_NETSTAT :: Int pattern RPL_START_NETSTAT = 267 pattern RPL_NETSTAT :: Int pattern RPL_NETSTAT = 268 pattern RPL_END_NETSTAT :: Int pattern RPL_END_NETSTAT = 269 pattern RPL_PRIVS :: Int pattern RPL_PRIVS = 270 pattern RPL_SILELIST :: Int pattern RPL_SILELIST = 271 pattern RPL_ENDOFSILELIST :: Int pattern RPL_ENDOFSILELIST = 272 pattern RPL_NOTIFY :: Int pattern RPL_NOTIFY = 273 pattern RPL_ENDNOTIFY :: Int pattern RPL_ENDNOTIFY = 274 pattern RPL_STATSDELTA :: Int pattern RPL_STATSDELTA = 274 pattern RPL_VCHANEXIST :: Int pattern RPL_VCHANEXIST = 276 pattern RPL_VCHANLIST :: Int pattern RPL_VCHANLIST = 277 pattern RPL_VCHANHELP :: Int pattern RPL_VCHANHELP = 278 pattern RPL_GLIST :: Int pattern RPL_GLIST = 280 pattern RPL_ENDOFGLIST :: Int pattern RPL_ENDOFGLIST = 281 pattern RPL_ACCEPTLIST :: Int pattern RPL_ACCEPTLIST = 281 pattern RPL_ENDOFACCEPT :: Int pattern RPL_ENDOFACCEPT = 282 pattern RPL_JUPELIST :: Int pattern RPL_JUPELIST = 282 pattern RPL_ENDOFJUPELIST :: Int pattern RPL_ENDOFJUPELIST = 283 pattern RPL_FEATURE :: Int pattern RPL_FEATURE = 284 pattern RPL_GLIST_HASH :: Int pattern RPL_GLIST_HASH = 285 pattern RPL_CHANINFO_HANDLE :: Int pattern RPL_CHANINFO_HANDLE = 285 pattern RPL_NEWHOSTIS :: Int pattern RPL_NEWHOSTIS = 285 pattern RPL_CHANINFO_USERS :: Int pattern RPL_CHANINFO_USERS = 286 pattern RPL_CHKHEAD :: Int pattern RPL_CHKHEAD = 286 pattern RPL_CHANINFO_CHOPS :: Int pattern RPL_CHANINFO_CHOPS = 287 pattern RPL_CHANUSER :: Int pattern RPL_CHANUSER = 287 pattern RPL_CHANINFO_VOICES :: Int pattern RPL_CHANINFO_VOICES = 288 pattern RPL_PATCHHEAD :: Int pattern RPL_PATCHHEAD = 288 pattern RPL_CHANINFO_AWAY :: Int pattern RPL_CHANINFO_AWAY = 289 pattern RPL_PATCHCON :: Int pattern RPL_PATCHCON = 289 pattern RPL_CHANINFO_OPERS :: Int pattern RPL_CHANINFO_OPERS = 290 pattern RPL_HELPHDR :: Int pattern RPL_HELPHDR = 290 pattern RPL_DATASTR :: Int pattern RPL_DATASTR = 290 pattern RPL_CHANINFO_BANNED :: Int pattern RPL_CHANINFO_BANNED = 291 pattern RPL_HELPOP :: Int pattern RPL_HELPOP = 291 pattern RPL_ENDOFCHECK :: Int pattern RPL_ENDOFCHECK = 291 pattern RPL_CHANINFO_BANS :: Int pattern RPL_CHANINFO_BANS = 292 pattern RPL_HELPTLR :: Int pattern RPL_HELPTLR = 292 pattern RPL_CHANINFO_INVITE :: Int pattern RPL_CHANINFO_INVITE = 293 pattern RPL_HELPHLP :: Int pattern RPL_HELPHLP = 293 pattern RPL_CHANINFO_INVITES :: Int pattern RPL_CHANINFO_INVITES = 294 pattern RPL_HELPFWD :: Int pattern RPL_HELPFWD = 294 pattern RPL_CHANINFO_KICK :: Int pattern RPL_CHANINFO_KICK = 295 pattern RPL_HELPIGN :: Int pattern RPL_HELPIGN = 295 pattern RPL_CHANINFO_KICKS :: Int pattern RPL_CHANINFO_KICKS = 296 pattern RPL_END_CHANINFO :: Int pattern RPL_END_CHANINFO = 299 pattern RPL_NONE :: Int pattern RPL_NONE = 300 pattern RPL_AWAY :: Int pattern RPL_AWAY = 301 pattern RPL_USERHOST :: Int pattern RPL_USERHOST = 302 pattern RPL_ISON :: Int pattern RPL_ISON = 303 pattern RPL_TEXT :: Int pattern RPL_TEXT = 304 pattern RPL_UNAWAY :: Int pattern RPL_UNAWAY = 305 pattern RPL_NOWAWAY :: Int pattern RPL_NOWAWAY = 306 pattern RPL_WHOISREGNICK :: Int pattern RPL_WHOISREGNICK = 307 pattern RPL_SUSERHOST :: Int pattern RPL_SUSERHOST = 307 pattern RPL_NOTIFYACTION :: Int pattern RPL_NOTIFYACTION = 308 pattern RPL_WHOISADMIN :: Int pattern RPL_WHOISADMIN = 308 pattern RPL_NICKTRACE :: Int pattern RPL_NICKTRACE = 309 pattern RPL_WHOISSADMIN :: Int pattern RPL_WHOISSADMIN = 309 pattern RPL_WHOISHELPER :: Int pattern RPL_WHOISHELPER = 309 pattern RPL_WHOISSVCMSG :: Int pattern RPL_WHOISSVCMSG = 310 pattern RPL_WHOISHELPOP :: Int pattern RPL_WHOISHELPOP = 310 pattern RPL_WHOISSERVICE :: Int pattern RPL_WHOISSERVICE = 310 pattern RPL_WHOISUSER :: Int pattern RPL_WHOISUSER = 311 pattern RPL_WHOISSERVER :: Int pattern RPL_WHOISSERVER = 312 pattern RPL_WHOISOPERATOR :: Int pattern RPL_WHOISOPERATOR = 313 pattern RPL_WHOWASUSER :: Int pattern RPL_WHOWASUSER = 314 pattern RPL_ENDOFWHO :: Int pattern RPL_ENDOFWHO = 315 pattern RPL_WHOISCHANOP :: Int pattern RPL_WHOISCHANOP = 316 pattern RPL_WHOISIDLE :: Int pattern RPL_WHOISIDLE = 317 pattern RPL_ENDOFWHOIS :: Int pattern RPL_ENDOFWHOIS = 318 pattern RPL_WHOISCHANNELS :: Int pattern RPL_WHOISCHANNELS = 319 pattern RPL_WHOISVIRT :: Int pattern RPL_WHOISVIRT = 320 pattern RPL_WHOIS_HIDDEN :: Int pattern RPL_WHOIS_HIDDEN = 320 pattern RPL_WHOISSPECIAL :: Int pattern RPL_WHOISSPECIAL = 320 pattern RPL_LISTSTART :: Int pattern RPL_LISTSTART = 321 pattern RPL_LIST :: Int pattern RPL_LIST = 322 pattern RPL_LISTEND :: Int pattern RPL_LISTEND = 323 pattern RPL_CHANNELMODEIS :: Int pattern RPL_CHANNELMODEIS = 324 pattern RPL_UNIQOPIS :: Int pattern RPL_UNIQOPIS = 325 pattern RPL_CHANNELPASSIS :: Int pattern RPL_CHANNELPASSIS = 325 pattern RPL_NOCHANPASS :: Int pattern RPL_NOCHANPASS = 326 pattern RPL_CHPASSUNKNOWN :: Int pattern RPL_CHPASSUNKNOWN = 327 pattern RPL_CHANNEL_URL :: Int pattern RPL_CHANNEL_URL = 328 pattern RPL_CREATIONTIME :: Int pattern RPL_CREATIONTIME = 329 pattern RPL_WHOWAS_TIME :: Int pattern RPL_WHOWAS_TIME = 330 pattern RPL_WHOISACCOUNT :: Int pattern RPL_WHOISACCOUNT = 330 pattern RPL_NOTOPIC :: Int pattern RPL_NOTOPIC = 331 pattern RPL_TOPIC :: Int pattern RPL_TOPIC = 332 pattern RPL_TOPICWHOTIME :: Int pattern RPL_TOPICWHOTIME = 333 pattern RPL_LISTUSAGE :: Int pattern RPL_LISTUSAGE = 334 pattern RPL_COMMANDSYNTAX :: Int pattern RPL_COMMANDSYNTAX = 334 pattern RPL_LISTSYNTAX :: Int pattern RPL_LISTSYNTAX = 334 pattern RPL_CHANPASSOK :: Int pattern RPL_CHANPASSOK = 338 pattern RPL_WHOISACTUALLY :: Int pattern RPL_WHOISACTUALLY = 338 pattern RPL_BADCHANPASS :: Int pattern RPL_BADCHANPASS = 339 pattern RPL_INVITING :: Int pattern RPL_INVITING = 341 pattern RPL_SUMMONING :: Int pattern RPL_SUMMONING = 342 pattern RPL_INVITED :: Int pattern RPL_INVITED = 345 pattern RPL_INVITELIST :: Int pattern RPL_INVITELIST = 346 pattern RPL_ENDOFINVITELIST :: Int pattern RPL_ENDOFINVITELIST = 347 pattern RPL_EXCEPTLIST :: Int pattern RPL_EXCEPTLIST = 348 pattern RPL_ENDOFEXCEPTLIST :: Int pattern RPL_ENDOFEXCEPTLIST = 349 pattern RPL_VERSION :: Int pattern RPL_VERSION = 351 pattern RPL_WHOREPLY :: Int pattern RPL_WHOREPLY = 352 pattern RPL_NAMREPLY :: Int pattern RPL_NAMREPLY = 353 pattern RPL_WHOSPCRPL :: Int pattern RPL_WHOSPCRPL = 354 pattern RPL_NAMREPLY_ :: Int pattern RPL_NAMREPLY_ = 355 pattern RPL_KILLDONE :: Int pattern RPL_KILLDONE = 361 pattern RPL_CLOSING :: Int pattern RPL_CLOSING = 362 pattern RPL_CLOSEEND :: Int pattern RPL_CLOSEEND = 363 pattern RPL_LINKS :: Int pattern RPL_LINKS = 364 pattern RPL_ENDOFLINKS :: Int pattern RPL_ENDOFLINKS = 365 pattern RPL_ENDOFNAMES :: Int pattern RPL_ENDOFNAMES = 366 pattern RPL_BANLIST :: Int pattern RPL_BANLIST = 367 pattern RPL_ENDOFBANLIST :: Int pattern RPL_ENDOFBANLIST = 368 pattern RPL_ENDOFWHOWAS :: Int pattern RPL_ENDOFWHOWAS = 369 pattern RPL_INFO :: Int pattern RPL_INFO = 371 pattern RPL_MOTD :: Int pattern RPL_MOTD = 372 pattern RPL_INFOSTART :: Int pattern RPL_INFOSTART = 373 pattern RPL_ENDOFINFO :: Int pattern RPL_ENDOFINFO = 374 pattern RPL_MOTDSTART :: Int pattern RPL_MOTDSTART = 375 pattern RPL_ENDOFMOTD :: Int pattern RPL_ENDOFMOTD = 376 pattern RPL_KICKEXPIRED :: Int pattern RPL_KICKEXPIRED = 377 pattern RPL_SPAM :: Int pattern RPL_SPAM = 377 pattern RPL_BANEXPIRED :: Int pattern RPL_BANEXPIRED = 378 pattern RPL_WHOISHOST :: Int pattern RPL_WHOISHOST = 378 pattern RPL_KICKLINKED :: Int pattern RPL_KICKLINKED = 379 pattern RPL_BANLINKED :: Int pattern RPL_BANLINKED = 380 pattern RPL_YOURHELPER :: Int pattern RPL_YOURHELPER = 380 pattern RPL_YOUREOPER :: Int pattern RPL_YOUREOPER = 381 pattern RPL_REHASHING :: Int pattern RPL_REHASHING = 382 pattern RPL_YOURESERVICE :: Int pattern RPL_YOURESERVICE = 383 pattern RPL_MYPORTIS :: Int pattern RPL_MYPORTIS = 384 pattern RPL_NOTOPERANYMORE :: Int pattern RPL_NOTOPERANYMORE = 385 pattern RPL_QLIST :: Int pattern RPL_QLIST = 386 pattern RPL_IRCOPS :: Int pattern RPL_IRCOPS = 386 pattern RPL_ENDOFQLIST :: Int pattern RPL_ENDOFQLIST = 387 pattern RPL_ENDOFIRCOPS :: Int pattern RPL_ENDOFIRCOPS = 387 pattern RPL_TIME :: Int pattern RPL_TIME = 391 pattern RPL_USERSSTART :: Int pattern RPL_USERSSTART = 392 pattern RPL_USERS :: Int pattern RPL_USERS = 393 pattern RPL_ENDOFUSERS :: Int pattern RPL_ENDOFUSERS = 394 pattern RPL_NOUSERS :: Int pattern RPL_NOUSERS = 395 pattern RPL_HOSTHIDDEN :: Int pattern RPL_HOSTHIDDEN = 396 pattern ERR_UNKNOWNERROR :: Int pattern ERR_UNKNOWNERROR = 400 pattern ERR_NOSUCHNICK :: Int pattern ERR_NOSUCHNICK = 401 pattern ERR_NOSUCHSERVER :: Int pattern ERR_NOSUCHSERVER = 402 pattern ERR_NOSUCHCHANNEL :: Int pattern ERR_NOSUCHCHANNEL = 403 pattern ERR_CANNOTSENDTOCHAN :: Int pattern ERR_CANNOTSENDTOCHAN = 404 pattern ERR_TOOMANYCHANNELS :: Int pattern ERR_TOOMANYCHANNELS = 405 pattern ERR_WASNOSUCHNICK :: Int pattern ERR_WASNOSUCHNICK = 406 pattern ERR_TOOMANYTARGETS :: Int pattern ERR_TOOMANYTARGETS = 407 pattern ERR_NOSUCHSERVICE :: Int pattern ERR_NOSUCHSERVICE = 408 pattern ERR_NOCOLORSONCHAN :: Int pattern ERR_NOCOLORSONCHAN = 408 pattern ERR_NOORIGIN :: Int pattern ERR_NOORIGIN = 409 pattern ERR_NORECIPIENT :: Int pattern ERR_NORECIPIENT = 411 pattern ERR_NOTEXTTOSEND :: Int pattern ERR_NOTEXTTOSEND = 412 pattern ERR_NOTOPLEVEL :: Int pattern ERR_NOTOPLEVEL = 413 pattern ERR_WILDTOPLEVEL :: Int pattern ERR_WILDTOPLEVEL = 414 pattern ERR_BADMASK :: Int pattern ERR_BADMASK = 415 pattern ERR_TOOMANYMATCHES :: Int pattern ERR_TOOMANYMATCHES = 416 pattern ERR_QUERYTOOLONG :: Int pattern ERR_QUERYTOOLONG = 416 pattern ERR_LENGTHTRUNCATED :: Int pattern ERR_LENGTHTRUNCATED = 419 pattern ERR_UNKNOWNCOMMAND :: Int pattern ERR_UNKNOWNCOMMAND = 421 pattern ERR_NOMOTD :: Int pattern ERR_NOMOTD = 422 pattern ERR_NOADMININFO :: Int pattern ERR_NOADMININFO = 423 pattern ERR_FILEERROR :: Int pattern ERR_FILEERROR = 424 pattern ERR_NOOPERMOTD :: Int pattern ERR_NOOPERMOTD = 425 pattern ERR_TOOMANYAWAY :: Int pattern ERR_TOOMANYAWAY = 429 pattern ERR_EVENTNICKCHANGE :: Int pattern ERR_EVENTNICKCHANGE = 430 pattern ERR_NONICKNAMEGIVEN :: Int pattern ERR_NONICKNAMEGIVEN = 431 pattern ERR_ERRONEUSNICKNAME :: Int pattern ERR_ERRONEUSNICKNAME = 432 pattern ERR_NICKNAMEINUSE :: Int pattern ERR_NICKNAMEINUSE = 433 pattern ERR_SERVICENAMEINUSE :: Int pattern ERR_SERVICENAMEINUSE = 434 pattern ERR_NORULES :: Int pattern ERR_NORULES = 434 pattern ERR_SERVICECONFUSED :: Int pattern ERR_SERVICECONFUSED = 435 pattern ERR_BANONCHAN :: Int pattern ERR_BANONCHAN = 435 pattern ERR_NICKCOLLISION :: Int pattern ERR_NICKCOLLISION = 436 pattern ERR_UNAVAILRESOURCE :: Int pattern ERR_UNAVAILRESOURCE = 437 pattern ERR_BANNICKCHANGE :: Int pattern ERR_BANNICKCHANGE = 437 pattern ERR_NICKTOOFAST :: Int pattern ERR_NICKTOOFAST = 438 pattern ERR_DEAD :: Int pattern ERR_DEAD = 438 pattern ERR_TARGETTOOFAST :: Int pattern ERR_TARGETTOOFAST = 439 pattern ERR_SERVICESDOWN :: Int pattern ERR_SERVICESDOWN = 440 pattern ERR_USERNOTINCHANNEL :: Int pattern ERR_USERNOTINCHANNEL = 441 pattern ERR_NOTONCHANNEL :: Int pattern ERR_NOTONCHANNEL = 442 pattern ERR_USERONCHANNEL :: Int pattern ERR_USERONCHANNEL = 443 pattern ERR_NOLOGIN :: Int pattern ERR_NOLOGIN = 444 pattern ERR_SUMMONDISABLED :: Int pattern ERR_SUMMONDISABLED = 445 pattern ERR_USERSDISABLED :: Int pattern ERR_USERSDISABLED = 446 pattern ERR_NONICKCHANGE :: Int pattern ERR_NONICKCHANGE = 447 pattern ERR_NOTIMPLEMENTED :: Int pattern ERR_NOTIMPLEMENTED = 449 pattern ERR_NOTREGISTERED :: Int pattern ERR_NOTREGISTERED = 451 pattern ERR_IDCOLLISION :: Int pattern ERR_IDCOLLISION = 452 pattern ERR_NICKLOST :: Int pattern ERR_NICKLOST = 453 pattern ERR_HOSTILENAME :: Int pattern ERR_HOSTILENAME = 455 pattern ERR_ACCEPTFULL :: Int pattern ERR_ACCEPTFULL = 456 pattern ERR_ACCEPTEXIST :: Int pattern ERR_ACCEPTEXIST = 457 pattern ERR_ACCEPTNOT :: Int pattern ERR_ACCEPTNOT = 458 pattern ERR_NOHIDING :: Int pattern ERR_NOHIDING = 459 pattern ERR_NOTFORHALFOPS :: Int pattern ERR_NOTFORHALFOPS = 460 pattern ERR_NEEDMOREPARAMS :: Int pattern ERR_NEEDMOREPARAMS = 461 pattern ERR_ALREADYREGISTERED :: Int pattern ERR_ALREADYREGISTERED = 462 pattern ERR_NOPERMFORHOST :: Int pattern ERR_NOPERMFORHOST = 463 pattern ERR_PASSWDMISMATCH :: Int pattern ERR_PASSWDMISMATCH = 464 pattern ERR_YOUREBANNEDCREEP :: Int pattern ERR_YOUREBANNEDCREEP = 465 pattern ERR_YOUWILLBEBANNED :: Int pattern ERR_YOUWILLBEBANNED = 466 pattern ERR_KEYSET :: Int pattern ERR_KEYSET = 467 pattern ERR_INVALIDUSERNAME :: Int pattern ERR_INVALIDUSERNAME = 468 pattern ERR_ONLYSERVERSCANCHANGE :: Int pattern ERR_ONLYSERVERSCANCHANGE = 468 pattern ERR_LINKSET :: Int pattern ERR_LINKSET = 469 pattern ERR_LINKCHANNEL :: Int pattern ERR_LINKCHANNEL = 470 pattern ERR_KICKEDFROMCHAN :: Int pattern ERR_KICKEDFROMCHAN = 470 pattern ERR_CHANNELISFULL :: Int pattern ERR_CHANNELISFULL = 471 pattern ERR_UNKNOWNMODE :: Int pattern ERR_UNKNOWNMODE = 472 pattern ERR_INVITEONLYCHAN :: Int pattern ERR_INVITEONLYCHAN = 473 pattern ERR_BANNEDFROMCHAN :: Int pattern ERR_BANNEDFROMCHAN = 474 pattern ERR_BADCHANNELKEY :: Int pattern ERR_BADCHANNELKEY = 475 pattern ERR_BADCHANMASK :: Int pattern ERR_BADCHANMASK = 476 pattern ERR_NOCHANMODES :: Int pattern ERR_NOCHANMODES = 477 pattern ERR_NEEDREGGEDNICK :: Int pattern ERR_NEEDREGGEDNICK = 477 pattern ERR_BANLISTFULL :: Int pattern ERR_BANLISTFULL = 478 pattern ERR_BADCHANNAME :: Int pattern ERR_BADCHANNAME = 479 pattern ERR_LINKFAIL :: Int pattern ERR_LINKFAIL = 479 pattern ERR_NOULINE :: Int pattern ERR_NOULINE = 480 pattern ERR_CANNOTKNOCK :: Int pattern ERR_CANNOTKNOCK = 480 pattern ERR_NOPRIVILEGES :: Int pattern ERR_NOPRIVILEGES = 481 pattern ERR_CHANOPRIVSNEEDED :: Int pattern ERR_CHANOPRIVSNEEDED = 482 pattern ERR_CANTKILLSERVER :: Int pattern ERR_CANTKILLSERVER = 483 pattern ERR_RESTRICTED :: Int pattern ERR_RESTRICTED = 484 pattern ERR_ISCHANSERVICE :: Int pattern ERR_ISCHANSERVICE = 484 pattern ERR_DESYNC :: Int pattern ERR_DESYNC = 484 pattern ERR_ATTACKDENY :: Int pattern ERR_ATTACKDENY = 484 pattern ERR_UNIQOPRIVSNEEDED :: Int pattern ERR_UNIQOPRIVSNEEDED = 485 pattern ERR_KILLDENY :: Int pattern ERR_KILLDENY = 485 pattern ERR_CANTKICKADMIN :: Int pattern ERR_CANTKICKADMIN = 485 pattern ERR_ISREALSERVICE :: Int pattern ERR_ISREALSERVICE = 485 pattern ERR_NONONREG :: Int pattern ERR_NONONREG = 486 pattern ERR_HTMDISABLED :: Int pattern ERR_HTMDISABLED = 486 pattern ERR_ACCOUNTONLY :: Int pattern ERR_ACCOUNTONLY = 486 pattern ERR_CHANTOORECENT :: Int pattern ERR_CHANTOORECENT = 487 pattern ERR_MSGSERVICES :: Int pattern ERR_MSGSERVICES = 487 pattern ERR_TSLESSCHAN :: Int pattern ERR_TSLESSCHAN = 488 pattern ERR_VOICENEEDED :: Int pattern ERR_VOICENEEDED = 489 pattern ERR_SECUREONLYCHAN :: Int pattern ERR_SECUREONLYCHAN = 489 pattern ERR_NOOPERHOST :: Int pattern ERR_NOOPERHOST = 491 pattern ERR_NOSERVICEHOST :: Int pattern ERR_NOSERVICEHOST = 492 pattern ERR_NOFEATURE :: Int pattern ERR_NOFEATURE = 493 pattern ERR_BADFEATURE :: Int pattern ERR_BADFEATURE = 494 pattern ERR_BADLOGTYPE :: Int pattern ERR_BADLOGTYPE = 495 pattern ERR_BADLOGSYS :: Int pattern ERR_BADLOGSYS = 496 pattern ERR_BADLOGVALUE :: Int pattern ERR_BADLOGVALUE = 497 pattern ERR_ISOPERLCHAN :: Int pattern ERR_ISOPERLCHAN = 498 pattern ERR_CHANOWNPRIVNEEDED :: Int pattern ERR_CHANOWNPRIVNEEDED = 499 pattern ERR_UMODEUNKNOWNFLAG :: Int pattern ERR_UMODEUNKNOWNFLAG = 501 pattern ERR_USERSDONTMATCH :: Int pattern ERR_USERSDONTMATCH = 502 pattern ERR_GHOSTEDCLIENT :: Int pattern ERR_GHOSTEDCLIENT = 503 pattern ERR_VWORLDWARN :: Int pattern ERR_VWORLDWARN = 503 pattern ERR_USERNOTONSERV :: Int pattern ERR_USERNOTONSERV = 504 pattern ERR_SILELISTFULL :: Int pattern ERR_SILELISTFULL = 511 pattern ERR_TOOMANYWATCH :: Int pattern ERR_TOOMANYWATCH = 512 pattern ERR_BADPING :: Int pattern ERR_BADPING = 513 pattern ERR_INVALID_ERROR :: Int pattern ERR_INVALID_ERROR = 514 pattern ERR_TOOMANYDCC :: Int pattern ERR_TOOMANYDCC = 514 pattern ERR_BADEXPIRE :: Int pattern ERR_BADEXPIRE = 515 pattern ERR_DONTCHEAT :: Int pattern ERR_DONTCHEAT = 516 pattern ERR_DISABLED :: Int pattern ERR_DISABLED = 517 pattern ERR_NOINVITE :: Int pattern ERR_NOINVITE = 518 pattern ERR_LONGMASK :: Int pattern ERR_LONGMASK = 518 pattern ERR_ADMONLY :: Int pattern ERR_ADMONLY = 519 pattern ERR_TOOMANYUSERS :: Int pattern ERR_TOOMANYUSERS = 519 pattern ERR_OPERONLY :: Int pattern ERR_OPERONLY = 520 pattern ERR_MASKTOOWIDE :: Int pattern ERR_MASKTOOWIDE = 520 pattern ERR_WHOTRUNC :: Int pattern ERR_WHOTRUNC = 520 pattern ERR_LISTSYNTAX :: Int pattern ERR_LISTSYNTAX = 521 pattern ERR_WHOSYNTAX :: Int pattern ERR_WHOSYNTAX = 522 pattern ERR_WHOLIMEXCEED :: Int pattern ERR_WHOLIMEXCEED = 523 pattern ERR_QUARANTINED :: Int pattern ERR_QUARANTINED = 524 pattern ERR_OPERSPVERIFY :: Int pattern ERR_OPERSPVERIFY = 524 pattern ERR_REMOTEPFX :: Int pattern ERR_REMOTEPFX = 525 pattern ERR_PFXUNROUTABLE :: Int pattern ERR_PFXUNROUTABLE = 526 pattern ERR_BADHOSTMASK :: Int pattern ERR_BADHOSTMASK = 550 pattern ERR_HOSTUNAVAIL :: Int pattern ERR_HOSTUNAVAIL = 551 pattern ERR_USINGSLINE :: Int pattern ERR_USINGSLINE = 552 pattern ERR_STATSSLINE :: Int pattern ERR_STATSSLINE = 553 pattern RPL_LOGON :: Int pattern RPL_LOGON = 600 pattern RPL_LOGOFF :: Int pattern RPL_LOGOFF = 601 pattern RPL_WATCHOFF :: Int pattern RPL_WATCHOFF = 602 pattern RPL_WATCHSTAT :: Int pattern RPL_WATCHSTAT = 603 pattern RPL_NOWON :: Int pattern RPL_NOWON = 604 pattern RPL_NOWOFF :: Int pattern RPL_NOWOFF = 605 pattern RPL_WATCHLIST :: Int pattern RPL_WATCHLIST = 606 pattern RPL_ENDOFWATCHLIST :: Int pattern RPL_ENDOFWATCHLIST = 607 pattern RPL_WATCHCLEAR :: Int pattern RPL_WATCHCLEAR = 608 pattern RPL_ISOPER :: Int pattern RPL_ISOPER = 610 pattern RPL_ISLOCOP :: Int pattern RPL_ISLOCOP = 611 pattern RPL_ISNOTOPER :: Int pattern RPL_ISNOTOPER = 612 pattern RPL_ENDOFISOPER :: Int pattern RPL_ENDOFISOPER = 613 pattern RPL_DCCSTATUS :: Int pattern RPL_DCCSTATUS = 617 pattern RPL_DCCLIST :: Int pattern RPL_DCCLIST = 618 pattern RPL_ENDOFDCCLIST :: Int pattern RPL_ENDOFDCCLIST = 619 pattern RPL_WHOWASHOST :: Int pattern RPL_WHOWASHOST = 619 pattern RPL_DCCINFO :: Int pattern RPL_DCCINFO = 620 pattern RPL_RULES :: Int pattern RPL_RULES = 621 pattern RPL_ENDOFO :: Int pattern RPL_ENDOFO = 626 pattern RPL_SETTINGS :: Int pattern RPL_SETTINGS = 630 pattern RPL_ENDOFSETTINGS :: Int pattern RPL_ENDOFSETTINGS = 631 pattern RPL_DUMPING :: Int pattern RPL_DUMPING = 640 pattern RPL_DUMPRPL :: Int pattern RPL_DUMPRPL = 641 pattern RPL_EODUMP :: Int pattern RPL_EODUMP = 642 pattern RPL_TRACEROUTE_HOP :: Int pattern RPL_TRACEROUTE_HOP = 660 pattern RPL_TRACEROUTE_START :: Int pattern RPL_TRACEROUTE_START = 661 pattern RPL_MODECHANGEWARN :: Int pattern RPL_MODECHANGEWARN = 662 pattern RPL_CHANREDIR :: Int pattern RPL_CHANREDIR = 663 pattern RPL_SERVMODEIS :: Int pattern RPL_SERVMODEIS = 664 pattern RPL_OTHERUMODEIS :: Int pattern RPL_OTHERUMODEIS = 665 pattern RPL_ENDOF_GENERIC :: Int pattern RPL_ENDOF_GENERIC = 666 pattern RPL_WHOWASDETAILS :: Int pattern RPL_WHOWASDETAILS = 670 pattern RPL_WHOISSECURE :: Int pattern RPL_WHOISSECURE = 671 pattern RPL_UNKNOWNMODES :: Int pattern RPL_UNKNOWNMODES = 672 pattern RPL_CANNOTSETMODES :: Int pattern RPL_CANNOTSETMODES = 673 pattern RPL_LUSERSTAFF :: Int pattern RPL_LUSERSTAFF = 678 pattern RPL_TIMEONSERVERIS :: Int pattern RPL_TIMEONSERVERIS = 679 pattern RPL_NETWORKS :: Int pattern RPL_NETWORKS = 682 pattern RPL_YOURLANGUAGEIS :: Int pattern RPL_YOURLANGUAGEIS = 687 pattern RPL_LANGUAGE :: Int pattern RPL_LANGUAGE = 688 pattern RPL_WHOISSTAFF :: Int pattern RPL_WHOISSTAFF = 689 pattern RPL_WHOISLANGUAGE :: Int pattern RPL_WHOISLANGUAGE = 690 pattern RPL_ENDOFMODLIST :: Int pattern RPL_ENDOFMODLIST = 703 pattern RPL_HELPSTART :: Int pattern RPL_HELPSTART = 704 pattern RPL_HELPTXT :: Int pattern RPL_HELPTXT = 705 pattern RPL_ENDOFHELP :: Int pattern RPL_ENDOFHELP = 706 pattern RPL_ETRACEFULL :: Int pattern RPL_ETRACEFULL = 708 pattern RPL_ETRACE :: Int pattern RPL_ETRACE = 709 pattern RPL_KNOCK :: Int pattern RPL_KNOCK = 710 pattern RPL_KNOCKDLVR :: Int pattern RPL_KNOCKDLVR = 711 pattern ERR_TOOMANYKNOCK :: Int pattern ERR_TOOMANYKNOCK = 712 pattern ERR_CHANOPEN :: Int pattern ERR_CHANOPEN = 713 pattern ERR_KNOCKONCHAN :: Int pattern ERR_KNOCKONCHAN = 714 pattern ERR_KNOCKDISABLED :: Int pattern ERR_KNOCKDISABLED = 715 pattern RPL_TARGUMODEG :: Int pattern RPL_TARGUMODEG = 716 pattern RPL_TARGNOTIFY :: Int pattern RPL_TARGNOTIFY = 717 pattern RPL_UMODEGMSG :: Int pattern RPL_UMODEGMSG = 718 pattern RPL_ENDOFOMOTD :: Int pattern RPL_ENDOFOMOTD = 722 pattern ERR_NOPRIVS :: Int pattern ERR_NOPRIVS = 723 pattern RPL_TESTMARK :: Int pattern RPL_TESTMARK = 724 pattern RPL_TESTLINE :: Int pattern RPL_TESTLINE = 725 pattern RPL_NOTESTLINE :: Int pattern RPL_NOTESTLINE = 726 pattern RPL_QUIETLIST :: Int pattern RPL_QUIETLIST = 728 pattern RPL_ENDOFQUIETLIST :: Int pattern RPL_ENDOFQUIETLIST = 729 pattern RPL_XINFO :: Int pattern RPL_XINFO = 771 pattern RPL_XINFOSTART :: Int pattern RPL_XINFOSTART = 773 pattern RPL_XINFOEND :: Int pattern RPL_XINFOEND = 774 pattern ERR_CANNOTDOCOMMAND :: Int pattern ERR_CANNOTDOCOMMAND = 972 pattern ERR_CANNOTCHANGEUMODE :: Int pattern ERR_CANNOTCHANGEUMODE = 973 pattern ERR_CANNOTCHANGECHANMODE :: Int pattern ERR_CANNOTCHANGECHANMODE = 974 pattern ERR_CANNOTCHANGESERVERMODE :: Int pattern ERR_CANNOTCHANGESERVERMODE = 975 pattern ERR_CANNOTSENDTONICK :: Int pattern ERR_CANNOTSENDTONICK = 976 pattern ERR_UNKNOWNSERVERMODE :: Int pattern ERR_UNKNOWNSERVERMODE = 977 pattern ERR_SERVERMODELOCK :: Int pattern ERR_SERVERMODELOCK = 979 pattern ERR_BADCHARENCODING :: Int pattern ERR_BADCHARENCODING = 980 pattern ERR_TOOMANYLANGUAGES :: Int pattern ERR_TOOMANYLANGUAGES = 981 pattern ERR_NOLANGUAGE :: Int pattern ERR_NOLANGUAGE = 982 pattern ERR_TEXTTOOSHORT :: Int pattern ERR_TEXTTOOSHORT = 983 pattern ERR_NUMERIC_ERR :: Int pattern ERR_NUMERIC_ERR = 999