Advertisement
nezzario

IRC Numeric Commands as a PHP Array

Apr 11th, 2015
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 105.82 KB | None | 0 0
  1. <?php
  2. /*
  3.  * This file was originally taken from here:
  4.  * https://www.alien.net.au/irc/irc2numerics.html
  5.  * https://www.alien.net.au/irc/irc2numerics.def
  6.  * With tag:
  7.  * $Id: irc2numerics.def,v 1.50 2005/01/11 22:30:30 pickle Exp $
  8.  *
  9.  * Original format is Copyright (c) 2001,2002,2003,2004 Simon Butcher
  10.  *
  11.  * ******
  12.  * Modifications:
  13.  * Converted to a PHP array syntax by A.B. Carroll <[email protected]>
  14.  * ******
  15.  *
  16.  * Original Header:
  17.  * This file is PUBLIC DOMAIN, to benefit the IRC developer community. If you
  18.  * modify this file, please state your name and modifications here in order
  19.  * for people to be able to distinguish between your version and this version.
  20.  */
  21.  
  22. /* The following format is used through-out this file. The first two fields
  23.  * ('name' and 'numeric') are manditory, the others may or may not exist.
  24.  *
  25.  * The registration field is only used to determine if the numeric is
  26.  * *POSSIBLY* used during registration of a connection (before the main part
  27.  * of the protocol kicks in).
  28.  *
  29.  * irc2numerics = {
  30.  *    name         = "<numeric name>";
  31.  *    numeric      = "<number>";
  32.  *  [ origin       = "<where the numeric was found>"; ]
  33.  *  [ when     = "<release version or announced date>"; ]
  34.  *  [ contact      = "<point of contact associated with the numeric>"; ]
  35.  *  [ information  = "<url where to find more information>"; ]
  36.  *  [ format       = "<format of the numeric data>"; ]
  37.  *  [ comment      = "<comments, history etc>"; ]
  38.  *  [ seealso      = "<number>"; ]
  39.  *  [ registration = "yes"; ]
  40.  *  [ conflict     = "yes"; ]
  41.  *  [ obsolete     = "yes"; ]
  42.  *  [ repeated     = "yes"; ]
  43.  * }
  44.  */
  45.  
  46. $irc2numerics[] = "000-199, local server to client connections";
  47.  
  48. $irc2numerics[] = [
  49.     "name"    => "RPL_WELCOME",
  50.     "numeric" => "1",
  51.     "origin"  => "RFC2812",
  52.     "format"  => ":Welcome to the Internet Relay Network "
  53.         . "<nick>!<user>@<host>",
  54.     "comment" => "The first message sent after client registration. The text "
  55.         . "used varies widely",
  56. ];
  57.  
  58. $irc2numerics[] = [
  59.     "name"    => "RPL_YOURHOST",
  60.     "numeric" => "2",
  61.     "origin"  => "RFC2812",
  62.     "format"  => ":Your host is <servername>, running version <version>",
  63.     "comment" => "Part of the post-registration greeting. Text varies widely",
  64. ];
  65.  
  66. $irc2numerics[] = [
  67.     "name"    => "RPL_CREATED",
  68.     "numeric" => "3",
  69.     "origin"  => "RFC2812",
  70.     "format"  => ":This server was created <date>",
  71.     "comment" => "Part of the post-registration greeting. Text varies widely",
  72. ];
  73.  
  74. $irc2numerics[] = [
  75.     "name"    => "RPL_MYINFO",
  76.     "numeric" => "4",
  77.     "origin"  => "RFC2812",
  78.     "format"  => "<server_name> <version> <user_modes> <chan_modes>",
  79.     "comment" => "Part of the post-registration greeting",
  80. ];
  81.  
  82. $irc2numerics[] = [
  83.     "name"     => "RPL_MYINFO",
  84.     "numeric"  => "4",
  85.     "origin"   => "KineIRCd",
  86.     "contact"  => "[email protected]",
  87.     "format"   => "<server_name> <version> <user_modes> <chan_modes> "
  88.         . "<channel_modes_with_params> <user_modes_with_params> "
  89.         . "<server_modes> <server_modes_with_params>",
  90.     "comment"  => "Same as RFC2812 however with additional fields to avoid "
  91.         . "additional 005 burden.",
  92.     "repeated" => "yes",
  93. ];
  94.  
  95. $irc2numerics[] = [
  96.     "name"     => "RPL_BOUNCE",
  97.     "numeric"  => "5",
  98.     "origin"   => "RFC2812",
  99.     "format"   => ":Try server <server_name>, port <port_number>",
  100.     "comment"  => "Sent by the server to a user to suggest an alternative "
  101.         . "server, sometimes used when the connection is refused "
  102.         . "because the server is already full. Also known as "
  103.         . "RPL_SLINE (AustHex), and RPL_REDIR",
  104.     "seealso"  => "010",
  105.     "obsolete" => "yes",
  106. ];
  107.  
  108. $irc2numerics[] = [
  109.     "name"        => "RPL_ISUPPORT",
  110.     "numeric"     => "5",
  111.     "information" => "http://www.irc.org/tech_docs/005.html",
  112.     "comment"     => "Also known as RPL_PROTOCTL (Bahamut, Unreal, Ultimate)",
  113. ];
  114.  
  115. $irc2numerics[] = [
  116.     "name"     => "RPL_MAP",
  117.     "numeric"  => "6",
  118.     "origin"   => "Unreal",
  119.     "conflict" => "yes",
  120. ];
  121.  
  122. $irc2numerics[] = [
  123.     "name"     => "RPL_MAPEND",
  124.     "numeric"  => "7",
  125.     "origin"   => "Unreal",
  126.     "conflict" => "yes",
  127. ];
  128.  
  129. $irc2numerics[] = [
  130.     "name"    => "RPL_SNOMASK",
  131.     "numeric" => "8",
  132.     "origin"  => "ircu",
  133.     "comment" => "Server notice mask (hex)",
  134. ];
  135.  
  136. $irc2numerics[] = [
  137.     "name"    => "RPL_STATMEMTOT",
  138.     "numeric" => "9",
  139.     "origin"  => "ircu",
  140. ];
  141.  
  142. $irc2numerics[] = [
  143.     "name"    => "RPL_BOUNCE",
  144.     "numeric" => "10",
  145.     "format"  => "<hostname> <port> :<info>",
  146.     "comment" => "Sent to the client to redirect it to another server. Also "
  147.         . "known as RPL_REDIR",
  148. ];
  149.  
  150. $irc2numerics[] = [
  151.     "name"     => "RPL_STATMEM",
  152.     "numeric"  => "10",
  153.     "origin"   => "ircu",
  154.     "obsolete" => "yes",
  155. ];
  156.  
  157. $irc2numerics[] = [
  158.     "name"    => "RPL_YOURCOOKIE",
  159.     "numeric" => "14",
  160.     "origin"  => "Hybrid?",
  161. ];
  162.  
  163. $irc2numerics[] = [
  164.     "name"     => "RPL_MAP",
  165.     "numeric"  => "15",
  166.     "origin"   => "ircu",
  167.     "conflict" => "yes",
  168. ];
  169.  
  170. $irc2numerics[] = [
  171.     "name"     => "RPL_MAPMORE",
  172.     "numeric"  => "16",
  173.     "origin"   => "ircu",
  174.     "conflict" => "yes",
  175. ];
  176.  
  177. $irc2numerics[] = [
  178.     "name"     => "RPL_MAPEND",
  179.     "numeric"  => "17",
  180.     "origin"   => "ircu",
  181.     "conflict" => "yes",
  182. ];
  183.  
  184. $irc2numerics[] = [
  185.     "name"    => "RPL_YOURID",
  186.     "numeric" => "42",
  187.     "origin"  => "IRCnet",
  188. ];
  189.  
  190. $irc2numerics[] = [
  191.     "name"    => "RPL_SAVENICK",
  192.     "numeric" => "43",
  193.     "origin"  => "IRCnet",
  194.     "format"  => ":<info>",
  195.     "comment" => "Sent to the client when their nickname was forced to "
  196.         . "change due to a collision",
  197. ];
  198.  
  199. $irc2numerics[] = [
  200.     "name"    => "RPL_ATTEMPTINGJUNC",
  201.     "numeric" => "50",
  202.     "origin"  => "aircd",
  203. ];
  204.  
  205. $irc2numerics[] = [
  206.     "name"    => "RPL_ATTEMPTINGREROUTE",
  207.     "numeric" => "51",
  208.     "origin"  => "aircd",
  209. ];
  210.  
  211.  
  212. $irc2numerics[] = "200-399, reply from server commands";
  213.  
  214. $irc2numerics[] = [
  215.     "name"    => "RPL_TRACELINK",
  216.     "numeric" => "200",
  217.     "origin"  => "RFC1459",
  218.     "format"  => "Link <version>[.<debug_level>] <destination> "
  219.         . "<next_server> [V<protocol_version> "
  220.         . "<link_uptime_in_seconds> <backstream_sendq> "
  221.         . "<upstream_sendq>]",
  222.     "comment" => "See RFC",
  223. ];
  224.  
  225. $irc2numerics[] = [
  226.     "name"    => "RPL_TRACECONNECTING",
  227.     "numeric" => "201",
  228.     "origin"  => "RFC1459",
  229.     "format"  => "Try. <class> <server>",
  230.     "comment" => "See RFC",
  231. ];
  232.  
  233. $irc2numerics[] = [
  234.     "name"    => "RPL_TRACEHANDSHAKE",
  235.     "numeric" => "202",
  236.     "origin"  => "RFC1459",
  237.     "format"  => "H.S. <class> <server>",
  238.     "comment" => "See RFC",
  239. ];
  240.  
  241. $irc2numerics[] = [
  242.     "name"    => "RPL_TRACEUNKNOWN",
  243.     "numeric" => "203",
  244.     "origin"  => "RFC1459",
  245.     "format"  => "???? <class> [<connection_address>]",
  246.     "comment" => "See RFC",
  247. ];
  248.  
  249. $irc2numerics[] = [
  250.     "name"    => "RPL_TRACEOPERATOR",
  251.     "numeric" => "204",
  252.     "origin"  => "RFC1459",
  253.     "format"  => "Oper <class> <nick>",
  254.     "comment" => "See RFC",
  255. ];
  256.  
  257. $irc2numerics[] = [
  258.     "name"    => "RPL_TRACEUSER",
  259.     "numeric" => "205",
  260.     "origin"  => "RFC1459",
  261.     "format"  => "User <class> <nick>",
  262.     "comment" => "See RFC",
  263. ];
  264.  
  265. $irc2numerics[] = [
  266.     "name"    => "RPL_TRACESERVER",
  267.     "numeric" => "206",
  268.     "origin"  => "RFC1459",
  269.     "format"  => "Serv <class> <int>S <int>C <server> "
  270.         . "<nick!user|*!*>@<host|server> [V<protocol_version>]",
  271.     "comment" => "See RFC",
  272. ];
  273.  
  274. $irc2numerics[] = [
  275.     "name"    => "RPL_TRACESERVICE",
  276.     "numeric" => "207",
  277.     "origin"  => "RFC2812",
  278.     "format"  => "Service <class> <name> <type> <active_type>",
  279.     "comment" => "See RFC",
  280. ];
  281.  
  282. $irc2numerics[] = [
  283.     "name"    => "RPL_TRACENEWTYPE",
  284.     "numeric" => "208",
  285.     "origin"  => "RFC1459",
  286.     "format"  => "<newtype> 0 <client_name>",
  287.     "comment" => "See RFC",
  288. ];
  289.  
  290. $irc2numerics[] = [
  291.     "name"    => "RPL_TRACECLASS",
  292.     "numeric" => "209",
  293.     "origin"  => "RFC2812",
  294.     "format"  => "Class <class> <count>",
  295.     "comment" => "See RFC",
  296. ];
  297.  
  298. $irc2numerics[] = [
  299.     "name"     => "RPL_TRACERECONNECT",
  300.     "numeric"  => "210",
  301.     "origin"   => "RFC2812",
  302.     "obsolete" => "yes",
  303. ];
  304.  
  305. $irc2numerics[] = [
  306.     "name"    => "RPL_STATS",
  307.     "numeric" => "210",
  308.     "origin"  => "aircd",
  309.     "comment" => "Used instead of having multiple stats numerics",
  310. ];
  311.  
  312. $irc2numerics[] = [
  313.     "name"    => "RPL_STATSLINKINFO",
  314.     "numeric" => "211",
  315.     "origin"  => "RFC1459",
  316.     "format"  => "<linkname> <sendq> <sent_msgs> <sent_bytes> <recvd_msgs> "
  317.         . "<rcvd_bytes> <time_open>",
  318.     "comment" => "Reply to STATS (See RFC)",
  319. ];
  320.  
  321. $irc2numerics[] = [
  322.     "name"    => "RPL_STATSCOMMANDS",
  323.     "numeric" => "212",
  324.     "origin"  => "RFC1459",
  325.     "format"  => "<command> <count> [<byte_count> <remote_count>]",
  326.     "comment" => "Reply to STATS (See RFC)",
  327. ];
  328.  
  329. $irc2numerics[] = [
  330.     "name"    => "RPL_STATSCLINE",
  331.     "numeric" => "213",
  332.     "origin"  => "RFC1459",
  333.     "format"  => "C <host> * <name> <port> <class>",
  334.     "comment" => "Reply to STATS (See RFC)",
  335. ];
  336.  
  337. $irc2numerics[] = [
  338.     "name"     => "RPL_STATSNLINE",
  339.     "numeric"  => "214",
  340.     "origin"   => "RFC1459",
  341.     "format"   => "N <host> * <name> <port> <class>",
  342.     "comment"  => "Reply to STATS (See RFC), Also known as RPL_STATSOLDNLINE "
  343.         . "(ircu, Unreal)",
  344.     "conflict" => "yes",
  345. ];
  346.  
  347. $irc2numerics[] = [
  348.     "name"    => "RPL_STATSILINE",
  349.     "numeric" => "215",
  350.     "origin"  => "RFC1459",
  351.     "format"  => "I <host> * <host> <port> <class>",
  352.     "comment" => "Reply to STATS (See RFC)",
  353. ];
  354.  
  355. $irc2numerics[] = [
  356.     "name"    => "RPL_STATSKLINE",
  357.     "numeric" => "216",
  358.     "origin"  => "RFC1459",
  359.     "format"  => "K <host> * <username> <port> <class>",
  360.     "comment" => "Reply to STATS (See RFC)",
  361. ];
  362.  
  363. $irc2numerics[] = [
  364.     "name"     => "RPL_STATSQLINE",
  365.     "numeric"  => "217",
  366.     "origin"   => "RFC1459",
  367.     "conflict" => "yes",
  368. ];
  369.  
  370. $irc2numerics[] = [
  371.     "name"     => "RPL_STATSPLINE",
  372.     "numeric"  => "217",
  373.     "origin"   => "ircu",
  374.     "conflict" => "yes",
  375. ];
  376.  
  377. $irc2numerics[] = [
  378.     "name"    => "RPL_STATSYLINE",
  379.     "numeric" => "218",
  380.     "origin"  => "RFC1459",
  381.     "format"  => "Y <class> <ping_freq> <connect_freq> <max_sendq>",
  382.     "comment" => "Reply to STATS (See RFC)",
  383. ];
  384.  
  385. $irc2numerics[] = [
  386.     "name"    => "RPL_ENDOFSTATS",
  387.     "numeric" => "219",
  388.     "origin"  => "RFC1459",
  389.     "format"  => "<query> :<info>",
  390.     "comment" => "End of RPL_STATS* list.",
  391. ];
  392.  
  393. $irc2numerics[] = [
  394.     "name"     => "RPL_STATSPLINE",
  395.     "numeric"  => "220",
  396.     "origin"   => "Hybrid",
  397.     "conflict" => "yes",
  398. ];
  399.  
  400. $irc2numerics[] = [
  401.     "name"     => "RPL_STATSBLINE",
  402.     "numeric"  => "220",
  403.     "origin"   => "Bahamut, Unreal",
  404.     "conflict" => "yes",
  405. ];
  406.  
  407. $irc2numerics[] = [
  408.     "name"    => "RPL_UMODEIS",
  409.     "numeric" => "221",
  410.     "origin"  => "RFC1459",
  411.     "format"  => "<user_modes> [<user_mode_params>]",
  412.     "comment" => "Information about a user's own modes. Some daemons have "
  413.         . "extended the mode command and certain modes take "
  414.         . "parameters (like channel modes).",
  415. ];
  416.  
  417. $irc2numerics[] = [
  418.     "name"     => "RPL_MODLIST",
  419.     "numeric"  => "222",
  420.     "conflict" => "yes",
  421. ];
  422.  
  423. $irc2numerics[] = [
  424.     "name"     => "RPL_SQLINE_NICK",
  425.     "numeric"  => "222",
  426.     "origin"   => "Unreal",
  427.     "conflict" => "yes",
  428. ];
  429.  
  430. $irc2numerics[] = [
  431.     "name"     => "RPL_STATSBLINE",
  432.     "numeric"  => "222",
  433.     "origin"   => "Bahamut",
  434.     "conflict" => "yes",
  435. ];
  436.  
  437. $irc2numerics[] = [
  438.     "name"     => "RPL_STATSELINE",
  439.     "numeric"  => "223",
  440.     "origin"   => "Bahamut",
  441.     "conflict" => "yes",
  442. ];
  443.  
  444. $irc2numerics[] = [
  445.     "name"     => "RPL_STATSGLINE",
  446.     "numeric"  => "223",
  447.     "origin"   => "Unreal",
  448.     "conflict" => "yes",
  449. ];
  450.  
  451. $irc2numerics[] = [
  452.     "name"     => "RPL_STATSFLINE",
  453.     "numeric"  => "224",
  454.     "origin"   => "Hybrid, Bahamut",
  455.     "conflict" => "yes",
  456. ];
  457.  
  458. $irc2numerics[] = [
  459.     "name"     => "RPL_STATSTLINE",
  460.     "numeric"  => "224",
  461.     "origin"   => "Unreal",
  462.     "conflict" => "yes",
  463. ];
  464.  
  465. $irc2numerics[] = [
  466.     "name"     => "RPL_STATSDLINE",
  467.     "numeric"  => "225",
  468.     "origin"   => "Hybrid",
  469.     "conflict" => "yes",
  470. ];
  471.  
  472. $irc2numerics[] = [
  473.     "name"     => "RPL_STATSZLINE",
  474.     "numeric"  => "225",
  475.     "origin"   => "Bahamut",
  476.     "conflict" => "yes",
  477. ];
  478.  
  479. $irc2numerics[] = [
  480.     "name"     => "RPL_STATSELINE",
  481.     "numeric"  => "225",
  482.     "origin"   => "Unreal",
  483.     "conflict" => "yes",
  484. ];
  485.  
  486. $irc2numerics[] = [
  487.     "name"     => "RPL_STATSCOUNT",
  488.     "numeric"  => "226",
  489.     "origin"   => "Bahamut",
  490.     "conflict" => "yes",
  491. ];
  492.  
  493. $irc2numerics[] = [
  494.     "name"     => "RPL_STATSNLINE",
  495.     "numeric"  => "226",
  496.     "origin"   => "Unreal",
  497.     "conflict" => "yes",
  498. ];
  499.  
  500. $irc2numerics[] = [
  501.     "name"     => "RPL_STATSGLINE",
  502.     "numeric"  => "227",
  503.     "origin"   => "Bahamut",
  504.     "conflict" => "yes",
  505. ];
  506.  
  507. $irc2numerics[] = [
  508.     "name"     => "RPL_STATSVLINE",
  509.     "numeric"  => "227",
  510.     "origin"   => "Unreal",
  511.     "conflict" => "yes",
  512. ];
  513.  
  514. $irc2numerics[] = [
  515.     "name"     => "RPL_STATSQLINE",
  516.     "numeric"  => "228",
  517.     "origin"   => "ircu",
  518.     "conflict" => "yes",
  519. ];
  520.  
  521. $irc2numerics[] = [
  522.     "name"     => "RPL_SERVICEINFO",
  523.     "numeric"  => "231",
  524.     "origin"   => "RFC1459",
  525.     "obsolete" => "yes",
  526. ];
  527.  
  528. $irc2numerics[] = [
  529.     "name"     => "RPL_ENDOFSERVICES",
  530.     "numeric"  => "232",
  531.     "origin"   => "RFC1459",
  532.     "obsolete" => "yes",
  533. ];
  534.  
  535. $irc2numerics[] = [
  536.     "name"     => "RPL_RULES",
  537.     "origin"   => "Unreal",
  538.     "numeric"  => "232",
  539.     "conflict" => "yes",
  540. ];
  541.  
  542. $irc2numerics[] = [
  543.     "name"     => "RPL_SERVICE",
  544.     "numeric"  => "233",
  545.     "origin"   => "RFC1459",
  546.     "obsolete" => "yes",
  547. ];
  548.  
  549. $irc2numerics[] = [
  550.     "name"    => "RPL_SERVLIST",
  551.     "numeric" => "234",
  552.     "origin"  => "RFC2812",
  553.     "format"  => "<name> <server> <mask> <type> <hopcount> <info>",
  554.     "comment" => "A service entry in the service list",
  555. ];
  556.  
  557. $irc2numerics[] = [
  558.     "name"    => "RPL_SERVLISTEND",
  559.     "numeric" => "235",
  560.     "origin"  => "RFC2812",
  561.     "format"  => "<mask> <type> :<info>",
  562.     "comment" => "Termination of an RPL_SERVLIST list",
  563. ];
  564.  
  565. $irc2numerics[] = [
  566.     "name"    => "RPL_STATSVERBOSE",
  567.     "numeric" => "236",
  568.     "origin"  => "ircu",
  569.     "comment" => "Verbose server list?",
  570. ];
  571.  
  572. $irc2numerics[] = [
  573.     "name"    => "RPL_STATSENGINE",
  574.     "numeric" => "237",
  575.     "origin"  => "ircu",
  576.     "comment" => "Engine name?",
  577. ];
  578.  
  579. $irc2numerics[] = [
  580.     "name"     => "RPL_STATSFLINE",
  581.     "numeric"  => "238",
  582.     "origin"   => "ircu",
  583.     "comment"  => "Feature lines?",
  584.     "conflict" => "yes",
  585. ];
  586.  
  587. $irc2numerics[] = [
  588.     "name"    => "RPL_STATSIAUTH",
  589.     "numeric" => "239",
  590.     "origin"  => "IRCnet",
  591. ];
  592.  
  593. $irc2numerics[] = [
  594.     "name"     => "RPL_STATSVLINE",
  595.     "numeric"  => "240",
  596.     "origin"   => "RFC2812",
  597.     "conflict" => "yes",
  598. ];
  599.  
  600. $irc2numerics[] = [
  601.     "name"     => "RPL_STATSXLINE",
  602.     "numeric"  => "240",
  603.     "origin"   => "AustHex",
  604.     "contact"  => "[email protected]",
  605.     "conflict" => "yes",
  606. ];
  607.  
  608. $irc2numerics[] = [
  609.     "name"    => "RPL_STATSLLINE",
  610.     "numeric" => "241",
  611.     "origin"  => "RFC1459",
  612.     "format"  => "L <hostmask> * <servername> <maxdepth>",
  613.     "comment" => "Reply to STATS (See RFC)",
  614. ];
  615.  
  616. $irc2numerics[] = [
  617.     "name"    => "RPL_STATSUPTIME",
  618.     "numeric" => "242",
  619.     "origin"  => "RFC1459",
  620.     "format"  => ":Server Up <days> days <hours>:<minutes>:<seconds>",
  621.     "comment" => "Reply to STATS (See RFC)",
  622. ];
  623.  
  624. $irc2numerics[] = [
  625.     "name"    => "RPL_STATSOLINE",
  626.     "numeric" => "243",
  627.     "origin"  => "RFC1459",
  628.     "format"  => "O <hostmask> * <nick> [:<info>]",
  629.     "comment" => "Reply to STATS (See RFC); The info field is an extension "
  630.         . "found in some IRC daemons, which returns info such as an "
  631.         . "e-mail address or the name/job of an operator",
  632. ];
  633.  
  634. $irc2numerics[] = [
  635.     "name"    => "RPL_STATSHLINE",
  636.     "numeric" => "244",
  637.     "origin"  => "RFC1459",
  638.     "format"  => "H <hostmask> * <servername>",
  639.     "comment" => "Reply to STATS (See RFC)",
  640. ];
  641.  
  642. $irc2numerics[] = [
  643.     "name"    => "RPL_STATSSLINE",
  644.     "numeric" => "245",
  645.     "origin"  => "Bahamut, IRCnet, Hybrid",
  646. ];
  647.  
  648. $irc2numerics[] = [
  649.     "name"     => "RPL_STATSPING",
  650.     "numeric"  => "246",
  651.     "origin"   => "RFC2812",
  652.     "obsolete" => "yes",
  653. ];
  654.  
  655. $irc2numerics[] = [
  656.     "name"     => "RPL_STATSTLINE",
  657.     "numeric"  => "246",
  658.     "origin"   => "ircu",
  659.     "conflict" => "yes",
  660. ];
  661.  
  662. $irc2numerics[] = [
  663.     "name"     => "RPL_STATSULINE",
  664.     "numeric"  => "246",
  665.     "origin"   => "Hybrid",
  666.     "conflict" => "yes",
  667. ];
  668.  
  669. $irc2numerics[] = [
  670.     "name"     => "RPL_STATSBLINE",
  671.     "numeric"  => "247",
  672.     "origin"   => "RFC2812",
  673.     "conflict" => "yes",
  674. ];
  675.  
  676. $irc2numerics[] = [
  677.     "name"     => "RPL_STATSXLINE",
  678.     "numeric"  => "247",
  679.     "origin"   => "Hybrid, PTlink, Unreal",
  680.     "conflict" => "yes",
  681. ];
  682.  
  683. $irc2numerics[] = [
  684.     "name"     => "RPL_STATSGLINE",
  685.     "numeric"  => "247",
  686.     "origin"   => "ircu",
  687.     "conflict" => "yes",
  688. ];
  689.  
  690. $irc2numerics[] = [
  691.     "name"     => "RPL_STATSULINE",
  692.     "numeric"  => "248",
  693.     "origin"   => "ircu",
  694.     "conflict" => "yes",
  695. ];
  696.  
  697. $irc2numerics[] = [
  698.     "name"     => "RPL_STATSDEFINE",
  699.     "numeric"  => "248",
  700.     "origin"   => "IRCnet",
  701.     "conflict" => "yes",
  702. ];
  703.  
  704. $irc2numerics[] = [
  705.     "name"     => "RPL_STATSULINE",
  706.     "numeric"  => "249",
  707.     "comment"  => "Extension to RFC1459?",
  708.     "conflict" => "yes",
  709. ];
  710.  
  711. $irc2numerics[] = [
  712.     "name"     => "RPL_STATSDEBUG",
  713.     "numeric"  => "249",
  714.     "origin"   => "Hybrid",
  715.     "conflict" => "yes",
  716. ];
  717.  
  718. $irc2numerics[] = [
  719.     "name"     => "RPL_STATSDLINE",
  720.     "numeric"  => "250",
  721.     "origin"   => "RFC2812",
  722.     "conflict" => "yes",
  723. ];
  724.  
  725. $irc2numerics[] = [
  726.     "name"    => "RPL_STATSCONN",
  727.     "numeric" => "250",
  728.     "origin"  => "ircu, Unreal",
  729. ];
  730.  
  731. $irc2numerics[] = [
  732.     "name"    => "RPL_LUSERCLIENT",
  733.     "numeric" => "251",
  734.     "origin"  => "RFC1459",
  735.     "format"  => ":There are <int> users and <int> invisible on <int> "
  736.         . "servers",
  737.     "comment" => "Reply to LUSERS command, other versions exist (eg. "
  738.         . "RFC2812); Text may vary.",
  739. ];
  740.  
  741. $irc2numerics[] = [
  742.     "name"    => "RPL_LUSEROP",
  743.     "numeric" => "252",
  744.     "origin"  => "RFC1459",
  745.     "format"  => "<int> :<info>",
  746.     "comment" => "Reply to LUSERS command - Number of IRC operators online",
  747. ];
  748.  
  749. $irc2numerics[] = [
  750.     "name"    => "RPL_LUSERUNKNOWN",
  751.     "numeric" => "253",
  752.     "origin"  => "RFC1459",
  753.     "format"  => "<int> :<info>",
  754.     "comment" => "Reply to LUSERS command - Number of unknown/unregistered "
  755.         . "connections",
  756. ];
  757.  
  758. $irc2numerics[] = [
  759.     "name"    => "RPL_LUSERCHANNELS",
  760.     "numeric" => "254",
  761.     "origin"  => "RFC1459",
  762.     "format"  => "<int> :<info>",
  763.     "comment" => "Reply to LUSERS command - Number of channels formed",
  764. ];
  765.  
  766. $irc2numerics[] = [
  767.     "name"    => "RPL_LUSERME",
  768.     "numeric" => "255",
  769.     "origin"  => "RFC1459",
  770.     "format"  => ":I have <int> clients and <int> servers",
  771.     "comment" => "Reply to LUSERS command - Information about local "
  772.         . "connections; Text may vary.",
  773. ];
  774.  
  775. $irc2numerics[] = [
  776.     "name"    => "RPL_ADMINME",
  777.     "numeric" => "256",
  778.     "origin"  => "RFC1459",
  779.     "format"  => "<server> :<info>",
  780.     "comment" => "Start of an RPL_ADMIN* reply. In practise, the server "
  781.         . "parameter is often never given, and instead the info "
  782.         . "field contains the text 'Administrative info about "
  783.         . "<server>'. Newer daemons seem to follow the RFC and output "
  784.         . "the server's hostname in the 'server' parameter, but also "
  785.         . "output the server name in the text as per traditional "
  786.         . "daemons.",
  787. ];
  788.  
  789. $irc2numerics[] = [
  790.     "name"    => "RPL_ADMINLOC1",
  791.     "numeric" => "257",
  792.     "origin"  => "RFC1459",
  793.     "format"  => ":<admin_location>",
  794.     "comment" => "Reply to ADMIN command (Location, first line)",
  795. ];
  796.  
  797. $irc2numerics[] = [
  798.     "name"    => "RPL_ADMINLOC2",
  799.     "numeric" => "258",
  800.     "origin"  => "RFC1459",
  801.     "format"  => ":<admin_location>",
  802.     "comment" => "Reply to ADMIN command (Location, second line)",
  803. ];
  804.  
  805. $irc2numerics[] = [
  806.     "name"    => "RPL_ADMINEMAIL",
  807.     "numeric" => "259",
  808.     "origin"  => "RFC1459",
  809.     "format"  => ":<email_address>",
  810.     "comment" => "Reply to ADMIN command (E-mail address of administrator)",
  811. ];
  812.  
  813. $irc2numerics[] = [
  814.     "name"    => "RPL_TRACELOG",
  815.     "numeric" => "261",
  816.     "origin"  => "RFC1459",
  817.     "format"  => "File <logfile> <debug_level>",
  818.     "comment" => "See RFC",
  819. ];
  820.  
  821. $irc2numerics[] = [
  822.     "name"     => "RPL_TRACEPING",
  823.     "numeric"  => "262",
  824.     "comment"  => "Extension to RFC1459?",
  825.     "conflict" => "yes",
  826. ];
  827.  
  828. $irc2numerics[] = [
  829.     "name"     => "RPL_TRACEEND",
  830.     "numeric"  => "262",
  831.     "origin"   => "RFC2812",
  832.     "format"   => "<server_name> <version>[.<debug_level>] :<info>",
  833.     "comment"  => "Used to terminate a list of RPL_TRACE* replies",
  834.     "conflict" => "yes",
  835. ];
  836.  
  837. $irc2numerics[] = [
  838.     "name"    => "RPL_TRYAGAIN",
  839.     "numeric" => "263",
  840.     "origin"  => "RFC2812",
  841.     "format"  => "<command> :<info>",
  842.     "comment" => "When a server drops a command without processing it, it "
  843.         . "MUST use this reply. Also known as RPL_LOAD_THROTTLED and "
  844.         . "RPL_LOAD2HI, I'm presuming they do the same thing.",
  845. ];
  846.  
  847. $irc2numerics[] = [
  848.     "name"    => "RPL_LOCALUSERS",
  849.     "numeric" => "265",
  850.     "origin"  => "aircd, Hybrid, Hybrid, Bahamut",
  851.     "comment" => "Also known as RPL_CURRENT_LOCAL",
  852. ];
  853.  
  854. $irc2numerics[] = [
  855.     "name"    => "RPL_GLOBALUSERS",
  856.     "numeric" => "266",
  857.     "origin"  => "aircd, Hybrid, Hybrid, Bahamut",
  858.     "comment" => "Also known as RPL_CURRENT_GLOBAL",
  859. ];
  860.  
  861. $irc2numerics[] = [
  862.     "name"    => "RPL_START_NETSTAT",
  863.     "numeric" => "267",
  864.     "origin"  => "aircd",
  865. ];
  866.  
  867. $irc2numerics[] = [
  868.     "name"    => "RPL_NETSTAT",
  869.     "numeric" => "268",
  870.     "origin"  => "aircd",
  871. ];
  872.  
  873. $irc2numerics[] = [
  874.     "name"    => "RPL_END_NETSTAT",
  875.     "numeric" => "269",
  876.     "origin"  => "aircd",
  877. ];
  878.  
  879. $irc2numerics[] = [
  880.     "name"    => "RPL_PRIVS",
  881.     "numeric" => "270",
  882.     "origin"  => "ircu",
  883. ];
  884.  
  885. $irc2numerics[] = [
  886.     "name"    => "RPL_SILELIST",
  887.     "numeric" => "271",
  888.     "origin"  => "ircu",
  889. ];
  890.  
  891. $irc2numerics[] = [
  892.     "name"    => "RPL_ENDOFSILELIST",
  893.     "numeric" => "272",
  894.     "origin"  => "ircu",
  895. ];
  896.  
  897. $irc2numerics[] = [
  898.     "name"    => "RPL_NOTIFY",
  899.     "numeric" => "273",
  900.     "origin"  => "aircd",
  901. ];
  902.  
  903. $irc2numerics[] = [
  904.     "name"     => "RPL_ENDNOTIFY",
  905.     "numeric"  => "274",
  906.     "origin"   => "aircd",
  907.     "conflict" => "yes",
  908. ];
  909.  
  910. $irc2numerics[] = [
  911.     "name"     => "RPL_STATSDELTA",
  912.     "numeric"  => "274",
  913.     "origin"   => "IRCnet",
  914.     "conflict" => "yes",
  915. ];
  916.  
  917. $irc2numerics[] = [
  918.     "name"     => "RPL_STATSDLINE",
  919.     "numeric"  => "275",
  920.     "origin"   => "ircu, Ultimate",
  921.     "conflict" => "yes",
  922. ];
  923.  
  924. $irc2numerics[] = [
  925.     "name"    => "RPL_VCHANEXIST",
  926.     "numeric" => "276",
  927. ];
  928.  
  929. $irc2numerics[] = [
  930.     "name"    => "RPL_VCHANLIST",
  931.     "numeric" => "277",
  932. ];
  933.  
  934. $irc2numerics[] = [
  935.     "name"    => "RPL_VCHANHELP",
  936.     "numeric" => "278",
  937. ];
  938.  
  939. $irc2numerics[] = [
  940.     "name"    => "RPL_GLIST",
  941.     "numeric" => "280",
  942.     "origin"  => "ircu",
  943. ];
  944.  
  945. $irc2numerics[] = [
  946.     "name"     => "RPL_ENDOFGLIST",
  947.     "numeric"  => "281",
  948.     "origin"   => "ircu",
  949.     "conflict" => "yes",
  950. ];
  951.  
  952. $irc2numerics[] = [
  953.     "name"     => "RPL_ACCEPTLIST",
  954.     "numeric"  => "281",
  955.     "conflict" => "yes",
  956. ];
  957.  
  958. $irc2numerics[] = [
  959.     "name"     => "RPL_ENDOFACCEPT",
  960.     "numeric"  => "282",
  961.     "conflict" => "yes",
  962. ];
  963.  
  964. $irc2numerics[] = [
  965.     "name"     => "RPL_JUPELIST",
  966.     "numeric"  => "282",
  967.     "origin"   => "ircu",
  968.     "conflict" => "yes",
  969. ];
  970.  
  971. $irc2numerics[] = [
  972.     "name"     => "RPL_ALIST",
  973.     "numeric"  => "283",
  974.     "conflict" => "yes",
  975. ];
  976.  
  977. $irc2numerics[] = [
  978.     "name"     => "RPL_ENDOFJUPELIST",
  979.     "numeric"  => "283",
  980.     "origin"   => "ircu",
  981.     "conflict" => "yes",
  982. ];
  983.  
  984. $irc2numerics[] = [
  985.     "name"     => "RPL_ENDOFALIST",
  986.     "numeric"  => "284",
  987.     "conflict" => "yes",
  988. ];
  989.  
  990. $irc2numerics[] = [
  991.     "name"     => "RPL_FEATURE",
  992.     "numeric"  => "284",
  993.     "origin"   => "ircu",
  994.     "conflict" => "yes",
  995. ];
  996.  
  997. $irc2numerics[] = [
  998.     "name"     => "RPL_GLIST_HASH",
  999.     "numeric"  => "285",
  1000.     "conflict" => "yes",
  1001. ];
  1002.  
  1003. $irc2numerics[] = [
  1004.     "name"     => "RPL_CHANINFO_HANDLE",
  1005.     "numeric"  => "285",
  1006.     "origin"   => "aircd",
  1007.     "conflict" => "yes",
  1008. ];
  1009.  
  1010. $irc2numerics[] = [
  1011.     "name"     => "RPL_NEWHOSTIS",
  1012.     "numeric"  => "285",
  1013.     "origin"   => "QuakeNet",
  1014.     "conflict" => "yes",
  1015. ];
  1016.  
  1017. $irc2numerics[] = [
  1018.     "name"     => "RPL_CHANINFO_USERS",
  1019.     "numeric"  => "286",
  1020.     "origin"   => "aircd",
  1021.     "conflict" => "yes",
  1022. ];
  1023.  
  1024. $irc2numerics[] = [
  1025.     "name"     => "RPL_CHKHEAD",
  1026.     "numeric"  => "286",
  1027.     "origin"   => "QuakeNet",
  1028.     "conflict" => "yes",
  1029. ];
  1030.  
  1031. $irc2numerics[] = [
  1032.     "name"     => "RPL_CHANINFO_CHOPS",
  1033.     "numeric"  => "287",
  1034.     "origin"   => "aircd",
  1035.     "conflict" => "yes",
  1036. ];
  1037.  
  1038. $irc2numerics[] = [
  1039.     "name"     => "RPL_CHANUSER",
  1040.     "numeric"  => "287",
  1041.     "origin"   => "QuakeNet",
  1042.     "conflict" => "yes",
  1043. ];
  1044.  
  1045. $irc2numerics[] = [
  1046.     "name"     => "RPL_CHANINFO_VOICES",
  1047.     "numeric"  => "288",
  1048.     "origin"   => "aircd",
  1049.     "conflict" => "yes",
  1050. ];
  1051.  
  1052. $irc2numerics[] = [
  1053.     "name"     => "RPL_PATCHHEAD",
  1054.     "numeric"  => "288",
  1055.     "origin"   => "QuakeNet",
  1056.     "conflict" => "yes",
  1057. ];
  1058.  
  1059. $irc2numerics[] = [
  1060.     "name"     => "RPL_CHANINFO_AWAY",
  1061.     "numeric"  => "289",
  1062.     "origin"   => "aircd",
  1063.     "conflict" => "yes",
  1064. ];
  1065.  
  1066. $irc2numerics[] = [
  1067.     "name"     => "RPL_PATCHCON",
  1068.     "numeric"  => "289",
  1069.     "origin"   => "QuakeNet",
  1070.     "conflict" => "yes",
  1071. ];
  1072.  
  1073. $irc2numerics[] = [
  1074.     "name"     => "RPL_CHANINFO_OPERS",
  1075.     "numeric"  => "290",
  1076.     "origin"   => "aircd",
  1077.     "conflict" => "yes",
  1078. ];
  1079.  
  1080. $irc2numerics[] = [
  1081.     "name"     => "RPL_HELPHDR",
  1082.     "numeric"  => "290",
  1083.     "origin"   => "Unreal",
  1084.     "conflict" => "yes",
  1085. ];
  1086.  
  1087. $irc2numerics[] = [
  1088.     "name"     => "RPL_DATASTR",
  1089.     "numeric"  => "290",
  1090.     "origin"   => "QuakeNet",
  1091.     "conflict" => "yes",
  1092. ];
  1093.  
  1094. $irc2numerics[] = [
  1095.     "name"     => "RPL_CHANINFO_BANNED",
  1096.     "numeric"  => "291",
  1097.     "origin"   => "aircd",
  1098.     "conflict" => "yes",
  1099. ];
  1100.  
  1101. $irc2numerics[] = [
  1102.     "name"     => "RPL_HELPOP",
  1103.     "numeric"  => "291",
  1104.     "origin"   => "Unreal",
  1105.     "conflict" => "yes",
  1106. ];
  1107.  
  1108. $irc2numerics[] = [
  1109.     "name"     => "RPL_ENDOFCHECK",
  1110.     "numeric"  => "291",
  1111.     "origin"   => "QuakeNet",
  1112.     "conflict" => "yes",
  1113. ];
  1114.  
  1115. $irc2numerics[] = [
  1116.     "name"     => "RPL_CHANINFO_BANS",
  1117.     "numeric"  => "292",
  1118.     "origin"   => "aircd",
  1119.     "conflict" => "yes",
  1120. ];
  1121.  
  1122. $irc2numerics[] = [
  1123.     "name"     => "RPL_HELPTLR",
  1124.     "numeric"  => "292",
  1125.     "origin"   => "Unreal",
  1126.     "conflict" => "yes",
  1127. ];
  1128.  
  1129. $irc2numerics[] = [
  1130.     "name"     => "RPL_CHANINFO_INVITE",
  1131.     "numeric"  => "293",
  1132.     "origin"   => "aircd",
  1133.     "conflict" => "yes",
  1134. ];
  1135.  
  1136. $irc2numerics[] = [
  1137.     "name"     => "RPL_HELPHLP",
  1138.     "numeric"  => "293",
  1139.     "origin"   => "Unreal",
  1140.     "conflict" => "yes",
  1141. ];
  1142.  
  1143. $irc2numerics[] = [
  1144.     "name"     => "RPL_CHANINFO_INVITES",
  1145.     "numeric"  => "294",
  1146.     "origin"   => "aircd",
  1147.     "conflict" => "yes",
  1148. ];
  1149.  
  1150. $irc2numerics[] = [
  1151.     "name"     => "RPL_HELPFWD",
  1152.     "numeric"  => "294",
  1153.     "origin"   => "Unreal",
  1154.     "conflict" => "yes",
  1155. ];
  1156.  
  1157. $irc2numerics[] = [
  1158.     "name"     => "RPL_CHANINFO_KICK",
  1159.     "numeric"  => "295",
  1160.     "origin"   => "aircd",
  1161.     "conflict" => "yes",
  1162. ];
  1163.  
  1164. $irc2numerics[] = [
  1165.     "name"     => "RPL_HELPIGN",
  1166.     "numeric"  => "295",
  1167.     "origin"   => "Unreal",
  1168.     "conflict" => "yes",
  1169. ];
  1170.  
  1171. $irc2numerics[] = [
  1172.     "name"    => "RPL_CHANINFO_KICKS",
  1173.     "numeric" => "296",
  1174.     "origin"  => "aircd",
  1175. ];
  1176.  
  1177. $irc2numerics[] = [
  1178.     "name"    => "RPL_END_CHANINFO",
  1179.     "numeric" => "299",
  1180.     "origin"  => "aircd",
  1181. ];
  1182.  
  1183. $irc2numerics[] = [
  1184.     "name"    => "RPL_NONE",
  1185.     "numeric" => "300",
  1186.     "origin"  => "RFC1459",
  1187.     "comment" => "Dummy reply, supposedly only used for debugging/testing "
  1188.         . "new features, however has appeared in production daemons.",
  1189. ];
  1190.  
  1191. $irc2numerics[] = [
  1192.     "name"    => "RPL_AWAY",
  1193.     "numeric" => "301",
  1194.     "origin"  => "RFC1459",
  1195.     "format"  => "<nick> :<message>",
  1196.     "comment" => "Used in reply to a command directed at a user who is "
  1197.         . "marked as away",
  1198. ];
  1199.  
  1200. $irc2numerics[] = [
  1201.     "name"     => "RPL_AWAY",
  1202.     "numeric"  => "301",
  1203.     "origin"   => "KineIRCd",
  1204.     "format"   => "<nick> <seconds away> :<message>",
  1205.     "comment"  => "Identical to RPL_AWAY, however this includes the number of "
  1206.         . "seconds the user has been away for. This is designed to "
  1207.         . "discourage the need for people to use those horrible "
  1208.         . "scripts which set the AWAY message every 30 seconds in "
  1209.         . "order to include an 'away since' timer.",
  1210.     "repeated" => true,
  1211. ];
  1212.  
  1213. $irc2numerics[] = [
  1214.     "name"    => "RPL_USERHOST",
  1215.     "numeric" => "302",
  1216.     "origin"  => "RFC1459",
  1217.     "format"  => ":*1<reply> *( ' ' <reply> )",
  1218.     "comment" => "Reply used by USERHOST (see RFC)",
  1219. ];
  1220.  
  1221. $irc2numerics[] = [
  1222.     "name"    => "RPL_ISON",
  1223.     "numeric" => "303",
  1224.     "origin"  => "RFC1459",
  1225.     "format"  => ":*1<nick> *( ' ' <nick> )",
  1226.     "comment" => "Reply to the ISON command (see RFC)",
  1227. ];
  1228.  
  1229. $irc2numerics[] = [
  1230.     "name"     => "RPL_TEXT",
  1231.     "numeric"  => "304",
  1232.     "obsolete" => "yes",
  1233. ];
  1234.  
  1235. $irc2numerics[] = [
  1236.     "name"    => "RPL_UNAWAY",
  1237.     "numeric" => "305",
  1238.     "origin"  => "RFC1459",
  1239.     "format"  => ":<info>",
  1240.     "comment" => "Reply from AWAY when no longer marked as away",
  1241. ];
  1242.  
  1243. $irc2numerics[] = [
  1244.     "name"    => "RPL_NOWAWAY",
  1245.     "numeric" => "306",
  1246.     "origin"  => "RFC1459",
  1247.     "format"  => ":<info>",
  1248.     "comment" => "Reply from AWAY when marked away",
  1249. ];
  1250.  
  1251. $irc2numerics[] = [
  1252.     "name"     => "RPL_USERIP",
  1253.     "numeric"  => "307",
  1254.     "conflict" => "yes",
  1255. ];
  1256.  
  1257. $irc2numerics[] = [
  1258.     "name"     => "RPL_WHOISREGNICK",
  1259.     "numeric"  => "307",
  1260.     "origin"   => "Bahamut, Unreal",
  1261.     "conflict" => "yes",
  1262. ];
  1263.  
  1264. $irc2numerics[] = [
  1265.     "name"     => "RPL_SUSERHOST",
  1266.     "numeric"  => "307",
  1267.     "origin"   => "AustHex",
  1268.     "contact"  => "[email protected]",
  1269.     "conflict" => "yes",
  1270. ];
  1271.  
  1272. $irc2numerics[] = [
  1273.     "name"     => "RPL_NOTIFYACTION",
  1274.     "numeric"  => "308",
  1275.     "origin"   => "aircd",
  1276.     "conflict" => "yes",
  1277. ];
  1278.  
  1279. $irc2numerics[] = [
  1280.     "name"     => "RPL_WHOISADMIN",
  1281.     "numeric"  => "308",
  1282.     "origin"   => "Bahamut",
  1283.     "conflict" => "yes",
  1284. ];
  1285.  
  1286. $irc2numerics[] = [
  1287.     "name"     => "RPL_RULESSTART",
  1288.     "numeric"  => "308",
  1289.     "origin"   => "Unreal",
  1290.     "conflict" => "yes",
  1291. ];
  1292.  
  1293. $irc2numerics[] = [
  1294.     "name"     => "RPL_NICKTRACE",
  1295.     "numeric"  => "309",
  1296.     "origin"   => "aircd",
  1297.     "conflict" => "yes",
  1298. ];
  1299.  
  1300. $irc2numerics[] = [
  1301.     "name"     => "RPL_WHOISSADMIN",
  1302.     "numeric"  => "309",
  1303.     "origin"   => "Bahamut",
  1304.     "conflict" => "yes",
  1305. ];
  1306.  
  1307. $irc2numerics[] = [
  1308.     "name"     => "RPL_ENDOFRULES",
  1309.     "numeric"  => "309",
  1310.     "origin"   => "Unreal",
  1311.     "conflict" => "yes",
  1312. ];
  1313.  
  1314. $irc2numerics[] = [
  1315.     "name"     => "RPL_WHOISHELPER",
  1316.     "numeric"  => "309",
  1317.     "origin"   => "AustHex",
  1318.     "contact"  => "[email protected]",
  1319.     "conflict" => "yes",
  1320. ];
  1321.  
  1322. $irc2numerics[] = [
  1323.     "name"     => "RPL_WHOISSVCMSG",
  1324.     "numeric"  => "310",
  1325.     "origin"   => "Bahamut",
  1326.     "conflict" => "yes",
  1327. ];
  1328.  
  1329. $irc2numerics[] = [
  1330.     "name"     => "RPL_WHOISHELPOP",
  1331.     "numeric"  => "310",
  1332.     "origin"   => "Unreal",
  1333.     "conflict" => "yes",
  1334. ];
  1335.  
  1336. $irc2numerics[] = [
  1337.     "name"     => "RPL_WHOISSERVICE",
  1338.     "numeric"  => "310",
  1339.     "origin"   => "AustHex",
  1340.     "contact"  => "[email protected]",
  1341.     "conflict" => "yes",
  1342. ];
  1343.  
  1344. $irc2numerics[] = [
  1345.     "name"    => "RPL_WHOISUSER",
  1346.     "numeric" => "311",
  1347.     "origin"  => "RFC1459",
  1348.     "format"  => "<nick> <user> <host> * :<real_name>",
  1349.     "comment" => "Reply to WHOIS - Information about the user",
  1350. ];
  1351.  
  1352. $irc2numerics[] = [
  1353.     "name"    => "RPL_WHOISSERVER",
  1354.     "numeric" => "312",
  1355.     "origin"  => "RFC1459",
  1356.     "format"  => "<nick> <server> :<server_info>",
  1357.     "comment" => "Reply to WHOIS - What server they're on",
  1358. ];
  1359.  
  1360. $irc2numerics[] = [
  1361.     "name"    => "RPL_WHOISOPERATOR",
  1362.     "numeric" => "313",
  1363.     "origin"  => "RFC1459",
  1364.     "format"  => "<nick> :<privileges>",
  1365.     "comment" => "Reply to WHOIS - User has IRC Operator privileges",
  1366. ];
  1367.  
  1368. $irc2numerics[] = [
  1369.     "name"    => "RPL_WHOWASUSER",
  1370.     "numeric" => "314",
  1371.     "origin"  => "RFC1459",
  1372.     "format"  => "<nick> <user> <host> * :<real_name>",
  1373.     "comment" => "Reply to WHOWAS - Information about the user",
  1374. ];
  1375.  
  1376. $irc2numerics[] = [
  1377.     "name"    => "RPL_ENDOFWHO",
  1378.     "numeric" => "315",
  1379.     "origin"  => "RFC1459",
  1380.     "format"  => "<name> :<info>",
  1381.     "comment" => "Used to terminate a list of RPL_WHOREPLY replies",
  1382. ];
  1383.  
  1384. $irc2numerics[] = [
  1385.     "name"     => "RPL_WHOISCHANOP",
  1386.     "numeric"  => "316",
  1387.     "origin"   => "RFC1459",
  1388.     "obsolete" => "yes",
  1389. ];
  1390.  
  1391. $irc2numerics[] = [
  1392.     "name"    => "RPL_WHOISIDLE",
  1393.     "numeric" => "317",
  1394.     "origin"  => "RFC1459",
  1395.     "format"  => "<nick> <seconds> :seconds idle",
  1396.     "comment" => "Reply to WHOIS - Idle information",
  1397. ];
  1398.  
  1399. $irc2numerics[] = [
  1400.     "name"    => "RPL_ENDOFWHOIS",
  1401.     "numeric" => "318",
  1402.     "origin"  => "RFC1459",
  1403.     "format"  => "<nick> :<info>",
  1404.     "comment" => "Reply to WHOIS - End of list",
  1405. ];
  1406.  
  1407. $irc2numerics[] = [
  1408.     "name"    => "RPL_WHOISCHANNELS",
  1409.     "numeric" => "319",
  1410.     "origin"  => "RFC1459",
  1411.     "format"  => "<nick> :*( ( '@' / '+' ) <channel> ' ' )",
  1412.     "comment" => "Reply to WHOIS - Channel list for user (See RFC)",
  1413. ];
  1414.  
  1415. $irc2numerics[] = [
  1416.     "name"      => "RPL_WHOISVIRT",
  1417.     "numeric"   => "320",
  1418.     "origin"    => "AustHex",
  1419.     "contact"   => "[email protected]",
  1420.     "conflicts" => "yes",
  1421. ];
  1422.  
  1423. $irc2numerics[] = [
  1424.     "name"      => "RPL_WHOIS_HIDDEN",
  1425.     "numeric"   => "320",
  1426.     "origin"    => "Anothernet",
  1427.     "conflicts" => "yes",
  1428. ];
  1429.  
  1430. $irc2numerics[] = [
  1431.     "name"      => "RPL_WHOISSPECIAL",
  1432.     "numeric"   => "320",
  1433.     "origin"    => "Unreal",
  1434.     "conflicts" => "yes",
  1435. ];
  1436.  
  1437. $irc2numerics[] = [
  1438.     "name"     => "RPL_LISTSTART",
  1439.     "numeric"  => "321",
  1440.     "origin"   => "RFC1459",
  1441.     "format"   => "Channels :Users  Name",
  1442.     "comment"  => "Channel list - Header",
  1443.     "obsolete" => "yes",
  1444. ];
  1445.  
  1446. $irc2numerics[] = [
  1447.     "name"    => "RPL_LIST",
  1448.     "numeric" => "322",
  1449.     "origin"  => "RFC1459",
  1450.     "format"  => "<channel> <#_visible> :<topic>",
  1451.     "comment" => "Channel list - A channel",
  1452. ];
  1453.  
  1454. $irc2numerics[] = [
  1455.     "name"    => "RPL_LISTEND",
  1456.     "numeric" => "323",
  1457.     "origin"  => "RFC1459",
  1458.     "format"  => ":<info>",
  1459.     "comment" => "Channel list - End of list",
  1460. ];
  1461.  
  1462. $irc2numerics[] = [
  1463.     "name"    => "RPL_CHANNELMODEIS",
  1464.     "numeric" => "324",
  1465.     "origin"  => "RFC1459",
  1466.     "format"  => "<channel> <mode> <mode_params>",
  1467. ];
  1468.  
  1469. $irc2numerics[] = [
  1470.     "name"     => "RPL_UNIQOPIS",
  1471.     "numeric"  => "325",
  1472.     "origin"   => "RFC2812",
  1473.     "format"   => "<channel> <nickname>",
  1474.     "conflict" => "yes",
  1475. ];
  1476.  
  1477. $irc2numerics[] = [
  1478.     "name"     => "RPL_CHANNELPASSIS",
  1479.     "numeric"  => "325",
  1480.     "conflict" => "yes",
  1481. ];
  1482.  
  1483. $irc2numerics[] = [
  1484.     "name"    => "RPL_NOCHANPASS",
  1485.     "numeric" => "326",
  1486. ];
  1487.  
  1488. $irc2numerics[] = [
  1489.     "name"    => "RPL_CHPASSUNKNOWN",
  1490.     "numeric" => "327",
  1491. ];
  1492.  
  1493. $irc2numerics[] = [
  1494.     "name"    => "RPL_CHANNEL_URL",
  1495.     "numeric" => "328",
  1496.     "origin"  => "Bahamut, AustHex",
  1497. ];
  1498.  
  1499. $irc2numerics[] = [
  1500.     "name"    => "RPL_CREATIONTIME",
  1501.     "numeric" => "329",
  1502.     "origin"  => "Bahamut",
  1503. ];
  1504.  
  1505. $irc2numerics[] = [
  1506.     "name"     => "RPL_WHOWAS_TIME",
  1507.     "numeric"  => "330",
  1508.     "conflict" => "yes",
  1509. ];
  1510.  
  1511. $irc2numerics[] = [
  1512.     "name"     => "RPL_WHOISACCOUNT",
  1513.     "numeric"  => "330",
  1514.     "origin"   => "ircu",
  1515.     "format"   => "<nick> <authname> :<info>",
  1516.     "conflict" => "yes",
  1517. ];
  1518.  
  1519. $irc2numerics[] = [
  1520.     "name"    => "RPL_NOTOPIC",
  1521.     "numeric" => "331",
  1522.     "origin"  => "RFC1459",
  1523.     "format"  => "<channel> :<info>",
  1524.     "comment" => "Response to TOPIC when no topic is set",
  1525. ];
  1526.  
  1527. $irc2numerics[] = [
  1528.     "name"    => "RPL_TOPIC",
  1529.     "numeric" => "332",
  1530.     "origin"  => "RFC1459",
  1531.     "format"  => "<channel> :<topic>",
  1532.     "comment" => "Response to TOPIC with the set topic",
  1533. ];
  1534.  
  1535. $irc2numerics[] = [
  1536.     "name"    => "RPL_TOPICWHOTIME",
  1537.     "numeric" => "333",
  1538.     "origin"  => "ircu",
  1539. ];
  1540.  
  1541. $irc2numerics[] = [
  1542.     "name"     => "RPL_LISTUSAGE",
  1543.     "numeric"  => "334",
  1544.     "origin"   => "ircu",
  1545.     "conflict" => "yes",
  1546. ];
  1547.  
  1548. $irc2numerics[] = [
  1549.     "name"     => "RPL_COMMANDSYNTAX",
  1550.     "numeric"  => "334",
  1551.     "origin"   => "Bahamut",
  1552.     "conflict" => "yes",
  1553. ];
  1554.  
  1555. $irc2numerics[] = [
  1556.     "name"     => "RPL_LISTSYNTAX",
  1557.     "numeric"  => "334",
  1558.     "origin"   => "Unreal",
  1559.     "conflict" => "yes",
  1560. ];
  1561.  
  1562. $irc2numerics[] = [
  1563.     "name"     => "RPL_WHOISBOT",
  1564.     "numeric"  => "335",
  1565.     "origin"   => "Unreal",
  1566.     "conflict" => "yes",
  1567. ];
  1568.  
  1569. $irc2numerics[] = [
  1570.     "name"     => "RPL_CHANPASSOK",
  1571.     "numeric"  => "338",
  1572.     "conflict" => "yes",
  1573. ];
  1574.  
  1575. $irc2numerics[] = [
  1576.     "name"     => "RPL_WHOISACTUALLY",
  1577.     "numeric"  => "338",
  1578.     "origin"   => "ircu, Bahamut",
  1579.     "conflict" => "yes",
  1580. ];
  1581.  
  1582. $irc2numerics[] = [
  1583.     "name"    => "RPL_BADCHANPASS",
  1584.     "numeric" => "339",
  1585. ];
  1586.  
  1587. $irc2numerics[] = [
  1588.     "name"    => "RPL_USERIP",
  1589.     "numeric" => "340",
  1590.     "origin"  => "ircu",
  1591. ];
  1592.  
  1593. $irc2numerics[] = [
  1594.     "name"    => "RPL_INVITING",
  1595.     "numeric" => "341",
  1596.     "origin"  => "RFC1459",
  1597.     "format"  => "<nick> <channel>",
  1598.     "comment" => "Returned by the server to indicate that the attempted "
  1599.         . "INVITE message was successful and is being passed onto "
  1600.         . "the end client. Note that RFC1459 documents the parameters "
  1601.         . "in the reverse order. The format given here is the format "
  1602.         . "used on production servers, and should be considered the "
  1603.         . "standard reply above that given by RFC1459.",
  1604. ];
  1605.  
  1606. $irc2numerics[] = [
  1607.     "name"     => "RPL_SUMMONING",
  1608.     "numeric"  => "342",
  1609.     "origin"   => "RFC1459",
  1610.     "format"   => "<user> :<info>",
  1611.     "comment"  => "Returned by a server answering a SUMMON message to indicate that it is summoning that user",
  1612.     "obsolete" => "yes",
  1613. ];
  1614.  
  1615. $irc2numerics[] = [
  1616.     "name"    => "RPL_INVITED",
  1617.     "numeric" => "345",
  1618.     "origin"  => "GameSurge",
  1619.     "contact" => "[email protected]",
  1620.     "format"  => "<channel> <user being invited> <user issuing invite> "
  1621.         . ":<user being invited> has been invited by "
  1622.         . "<user issuing invite>",
  1623.     "comment" => "Sent to users on a channel when an INVITE command has been "
  1624.         . "issued",
  1625. ];
  1626.  
  1627. $irc2numerics[] = [
  1628.     "name"    => "RPL_INVITELIST",
  1629.     "numeric" => "346",
  1630.     "origin"  => "RFC2812",
  1631.     "format"  => "<channel> <invitemask>",
  1632.     "comment" => "An invite mask for the invite mask list",
  1633. ];
  1634.  
  1635. $irc2numerics[] = [
  1636.     "name"    => "RPL_ENDOFINVITELIST",
  1637.     "numeric" => "347",
  1638.     "origin"  => "RFC2812",
  1639.     "format"  => "<channel> :<info>",
  1640.     "comment" => "Termination of an RPL_INVITELIST list",
  1641. ];
  1642.  
  1643. $irc2numerics[] = [
  1644.     "name"    => "RPL_EXCEPTLIST",
  1645.     "numeric" => "348",
  1646.     "origin"  => "RFC2812",
  1647.     "format"  => "<channel> <exceptionmask>",
  1648.     "comment" => "An exception mask for the exception mask list. Also known "
  1649.         . "as RPL_EXLIST (Unreal, Ultimate)",
  1650. ];
  1651.  
  1652. $irc2numerics[] = [
  1653.     "name"    => "RPL_ENDOFEXCEPTLIST",
  1654.     "numeric" => "349",
  1655.     "origin"  => "RFC2812",
  1656.     "format"  => "<channel> :<info>",
  1657.     "comment" => "Termination of an RPL_EXCEPTLIST list. Also known as "
  1658.         . "RPL_ENDOFEXLIST (Unreal, Ultimate)",
  1659. ];
  1660.  
  1661. $irc2numerics[] = [
  1662.     "name"    => "RPL_VERSION",
  1663.     "numeric" => "351",
  1664.     "origin"  => "RFC1459",
  1665.     "format"  => "<version>[.<debuglevel>] <server> :<comments>",
  1666.     "comment" => "Reply by the server showing its version details, however "
  1667.         . "this format is not often adhered to",
  1668. ];
  1669.  
  1670. $irc2numerics[] = [
  1671.     "name"    => "RPL_WHOREPLY",
  1672.     "numeric" => "352",
  1673.     "origin"  => "RFC1459",
  1674.     "format"  => "<channel> <user> <host> <server> <nick> <H|G>[*][@|+] "
  1675.         . ":<hopcount> <real_name>",
  1676.     "comment" => "Reply to vanilla WHO (See RFC). This format can be "
  1677.         . "very different if the 'WHOX' version of the command is "
  1678.         . "used (see ircu).",
  1679. ];
  1680.  
  1681. $irc2numerics[] = [
  1682.     "name"    => "RPL_NAMREPLY",
  1683.     "numeric" => "353",
  1684.     "origin"  => "RFC1459",
  1685.     "format"  => "( '=' / '*' / '@' ) <channel> ' ' : [ '@' / '+' ] <nick> "
  1686.         . "*( ' ' [ '@' / '+' ] <nick> )",
  1687.     "comment" => "Reply to NAMES (See RFC)",
  1688. ];
  1689.  
  1690. $irc2numerics[] = [
  1691.     "name"    => "RPL_WHOSPCRPL",
  1692.     "numeric" => "354",
  1693.     "origin"  => "ircu",
  1694.     "comment" => "Reply to WHO, however it is a 'special' reply because it "
  1695.         . "is returned using a non-standard (non-RFC1459) format. The "
  1696.         . "format is dictated by the command given by the user, and "
  1697.         . "can vary widely. When this is used, the WHO command was "
  1698.         . "invoked in its 'extended' form, as announced by the 'WHOX' "
  1699.         . "ISUPPORT tag.",
  1700. ];
  1701.  
  1702. $irc2numerics[] = [
  1703.     "name"    => "RPL_NAMREPLY_",
  1704.     "numeric" => "355",
  1705.     "origin"  => "QuakeNet",
  1706.     "format"  => "( '=' / '*' / '@' ) <channel> ' ' : [ '@' / '+' ] <nick> "
  1707.         . "*( ' ' [ '@' / '+' ] <nick> )",
  1708.     "comment" => "Reply to the \"NAMES -d\" command - used to show invisible "
  1709.         . "users (when the channel is set +D, QuakeNet relative). The "
  1710.         . "proper define name for this numeric is unknown at this "
  1711.         . "time",
  1712.     "seealso" => "353",
  1713. ];
  1714.  
  1715. $irc2numerics[] = [
  1716.     "name"     => "RPL_MAP",
  1717.     "numeric"  => "357",
  1718.     "origin"   => "AustHex",
  1719.     "conflict" => "yes",
  1720. ];
  1721.  
  1722. $irc2numerics[] = [
  1723.     "name"     => "RPL_MAPMORE",
  1724.     "numeric"  => "358",
  1725.     "origin"   => "AustHex",
  1726.     "conflict" => "yes",
  1727. ];
  1728.  
  1729. $irc2numerics[] = [
  1730.     "name"     => "RPL_MAPEND",
  1731.     "numeric"  => "359",
  1732.     "origin"   => "AustHex",
  1733.     "conflict" => "yes",
  1734. ];
  1735.  
  1736. $irc2numerics[] = [
  1737.     "name"     => "RPL_KILLDONE",
  1738.     "numeric"  => "361",
  1739.     "origin"   => "RFC1459",
  1740.     "obsolete" => "yes",
  1741. ];
  1742.  
  1743. $irc2numerics[] = [
  1744.     "name"     => "RPL_CLOSING",
  1745.     "numeric"  => "362",
  1746.     "origin"   => "RFC1459",
  1747.     "obsolete" => "yes",
  1748. ];
  1749.  
  1750. $irc2numerics[] = [
  1751.     "name"     => "RPL_CLOSEEND",
  1752.     "numeric"  => "363",
  1753.     "origin"   => "RFC1459",
  1754.     "obsolete" => "yes",
  1755. ];
  1756.  
  1757. $irc2numerics[] = [
  1758.     "name"    => "RPL_LINKS",
  1759.     "numeric" => "364",
  1760.     "origin"  => "RFC1459",
  1761.     "format"  => "<mask> <server> :<hopcount> <server_info>",
  1762.     "comment" => "Reply to the LINKS command",
  1763. ];
  1764.  
  1765. $irc2numerics[] = [
  1766.     "name"    => "RPL_ENDOFLINKS",
  1767.     "numeric" => "365",
  1768.     "origin"  => "RFC1459",
  1769.     "format"  => "<mask> :<info>",
  1770.     "comment" => "Termination of an RPL_LINKS list",
  1771. ];
  1772.  
  1773. $irc2numerics[] = [
  1774.     "name"    => "RPL_ENDOFNAMES",
  1775.     "numeric" => "366",
  1776.     "origin"  => "RFC1459",
  1777.     "format"  => "<channel> :<info>",
  1778.     "comment" => "Termination of an RPL_NAMREPLY list",
  1779. ];
  1780.  
  1781. $irc2numerics[] = [
  1782.     "name"    => "RPL_BANLIST",
  1783.     "numeric" => "367",
  1784.     "origin"  => "RFC1459",
  1785.     "format"  => "<channel> <banid> [<time_left> :<reason>]",
  1786.     "comment" => "A ban-list item (See RFC); <time left> and <reason> are "
  1787.         . "additions used by KineIRCd",
  1788. ];
  1789.  
  1790. $irc2numerics[] = [
  1791.     "name"    => "RPL_ENDOFBANLIST",
  1792.     "numeric" => "368",
  1793.     "origin"  => "RFC1459",
  1794.     "format"  => "<channel> :<info>",
  1795.     "comment" => "Termination of an RPL_BANLIST list",
  1796. ];
  1797.  
  1798. $irc2numerics[] = [
  1799.     "name"    => "RPL_ENDOFWHOWAS",
  1800.     "numeric" => "369",
  1801.     "origin"  => "RFC1459",
  1802.     "format"  => "<nick> :<info>",
  1803.     "comment" => "Reply to WHOWAS - End of list",
  1804. ];
  1805.  
  1806. $irc2numerics[] = [
  1807.     "name"    => "RPL_INFO",
  1808.     "numeric" => "371",
  1809.     "origin"  => "RFC1459",
  1810.     "format"  => ":<string>",
  1811.     "comment" => "Reply to INFO",
  1812. ];
  1813.  
  1814. $irc2numerics[] = [
  1815.     "name"    => "RPL_MOTD",
  1816.     "numeric" => "372",
  1817.     "origin"  => "RFC1459",
  1818.     "format"  => ":- <string>",
  1819.     "comment" => "Reply to MOTD",
  1820. ];
  1821.  
  1822. $irc2numerics[] = [
  1823.     "name"     => "RPL_INFOSTART",
  1824.     "numeric"  => "373",
  1825.     "origin"   => "RFC1459",
  1826.     "obsolete" => "yes",
  1827. ];
  1828.  
  1829. $irc2numerics[] = [
  1830.     "name"    => "RPL_ENDOFINFO",
  1831.     "numeric" => "374",
  1832.     "origin"  => "RFC1459",
  1833.     "format"  => ":<info>",
  1834.     "comment" => "Termination of an RPL_INFO list",
  1835. ];
  1836.  
  1837. $irc2numerics[] = [
  1838.     "name"    => "RPL_MOTDSTART",
  1839.     "numeric" => "375",
  1840.     "origin"  => "RFC1459",
  1841.     "format"  => ":- <server> Message of the day -",
  1842.     "comment" => "Start of an RPL_MOTD list",
  1843. ];
  1844.  
  1845. $irc2numerics[] = [
  1846.     "name"    => "RPL_ENDOFMOTD",
  1847.     "numeric" => "376",
  1848.     "origin"  => "RFC1459",
  1849.     "format"  => ":<info>",
  1850.     "comment" => "Termination of an RPL_MOTD list",
  1851. ];
  1852.  
  1853. $irc2numerics[] = [
  1854.     "name"     => "RPL_KICKEXPIRED",
  1855.     "numeric"  => "377",
  1856.     "origin"   => "aircd",
  1857.     "conflict" => "yes",
  1858. ];
  1859.  
  1860. $irc2numerics[] = [
  1861.     "name"     => "RPL_SPAM",
  1862.     "numeric"  => "377",
  1863.     "origin"   => "AustHex",
  1864.     "contact"  => "[email protected]",
  1865.     "format"   => ":<text>",
  1866.     "comment"  => "Used during the connection (after MOTD) to announce the "
  1867.         . "network policy on spam and privacy. Supposedly now "
  1868.         . "obsoleted in favour of using NOTICE.",
  1869.     "obsolete" => "yes",
  1870. ];
  1871.  
  1872. $irc2numerics[] = [
  1873.     "name"     => "RPL_BANEXPIRED",
  1874.     "numeric"  => "378",
  1875.     "origin"   => "aircd",
  1876.     "conflict" => "yes",
  1877. ];
  1878.  
  1879. $irc2numerics[] = [
  1880.     "name"     => "RPL_WHOISHOST",
  1881.     "numeric"  => "378",
  1882.     "origin"   => "Unreal",
  1883.     "conflict" => "yes",
  1884. ];
  1885.  
  1886. $irc2numerics[] = [
  1887.     "name"     => "RPL_MOTD",
  1888.     "numeric"  => "378",
  1889.     "origin"   => "AustHex",
  1890.     "comment"  => "Used by AustHex to 'force' the display of the MOTD, "
  1891.         . "however is considered obsolete due to client/script "
  1892.         . "awareness & ability to ",
  1893.     "seealso"  => "372",
  1894.     "obsolete" => "yes",
  1895.     "conflict" => "yes",
  1896. ];
  1897.  
  1898. $irc2numerics[] = [
  1899.     "name"     => "RPL_KICKLINKED",
  1900.     "numeric"  => "379",
  1901.     "origin"   => "aircd",
  1902.     "conflict" => "yes",
  1903. ];
  1904.  
  1905. $irc2numerics[] = [
  1906.     "name"     => "RPL_WHOISMODES",
  1907.     "numeric"  => "379",
  1908.     "origin"   => "Unreal",
  1909.     "conflict" => "yes",
  1910. ];
  1911.  
  1912. $irc2numerics[] = [
  1913.     "name"     => "RPL_BANLINKED",
  1914.     "numeric"  => "380",
  1915.     "origin"   => "aircd",
  1916.     "conflict" => "yes",
  1917. ];
  1918.  
  1919. $irc2numerics[] = [
  1920.     "name"     => "RPL_YOURHELPER",
  1921.     "numeric"  => "380",
  1922.     "origin"   => "AustHex",
  1923.     "conflict" => "yes",
  1924. ];
  1925.  
  1926. $irc2numerics[] = [
  1927.     "name"    => "RPL_YOUREOPER",
  1928.     "numeric" => "381",
  1929.     "origin"  => "RFC1459",
  1930.     "format"  => ":<info>",
  1931.     "comment" => "Successful reply from OPER",
  1932. ];
  1933.  
  1934. $irc2numerics[] = [
  1935.     "name"    => "RPL_REHASHING",
  1936.     "numeric" => "382",
  1937.     "origin"  => "RFC1459",
  1938.     "format"  => "<config_file> :<info>",
  1939.     "comment" => "Successful reply from REHASH",
  1940. ];
  1941.  
  1942. $irc2numerics[] = [
  1943.     "name"    => "RPL_YOURESERVICE",
  1944.     "numeric" => "383",
  1945.     "origin"  => "RFC2812",
  1946.     "format"  => ":You are service <service_name>",
  1947.     "comment" => "Sent upon successful registration of a service",
  1948. ];
  1949.  
  1950. $irc2numerics[] = [
  1951.     "name"     => "RPL_MYPORTIS",
  1952.     "numeric"  => "384",
  1953.     "origin"   => "RFC1459",
  1954.     "obsolete" => "yes",
  1955. ];
  1956.  
  1957. $irc2numerics[] = [
  1958.     "name"    => "RPL_NOTOPERANYMORE",
  1959.     "numeric" => "385",
  1960.     "origin"  => "AustHex, Hybrid, Unreal",
  1961. ];
  1962.  
  1963. $irc2numerics[] = [
  1964.     "name"     => "RPL_QLIST",
  1965.     "numeric"  => "386",
  1966.     "origin"   => "Unreal",
  1967.     "conflict" => "yes",
  1968. ];
  1969.  
  1970. $irc2numerics[] = [
  1971.     "name"     => "RPL_IRCOPS",
  1972.     "numeric"  => "386",
  1973.     "origin"   => "Ultimate",
  1974.     "conflict" => "yes",
  1975. ];
  1976.  
  1977. $irc2numerics[] = [
  1978.     "name"     => "RPL_ENDOFQLIST",
  1979.     "numeric"  => "387",
  1980.     "origin"   => "Unreal",
  1981.     "conflict" => "yes",
  1982. ];
  1983.  
  1984. $irc2numerics[] = [
  1985.     "name"     => "RPL_ENDOFIRCOPS",
  1986.     "numeric"  => "387",
  1987.     "origin"   => "Ultimate",
  1988.     "conflict" => "yes",
  1989. ];
  1990.  
  1991. $irc2numerics[] = [
  1992.     "name"    => "RPL_ALIST",
  1993.     "numeric" => "388",
  1994.     "origin"  => "Unreal",
  1995. ];
  1996.  
  1997. $irc2numerics[] = [
  1998.     "name"    => "RPL_ENDOFALIST",
  1999.     "numeric" => "389",
  2000.     "origin"  => "Unreal",
  2001. ];
  2002.  
  2003. $irc2numerics[] = [
  2004.     "name"    => "RPL_TIME",
  2005.     "numeric" => "391",
  2006.     "origin"  => "RFC1459",
  2007.     "format"  => "<server> :<time string>",
  2008.     "comment" => "Response to the TIME command. The string format may vary "
  2009.         . "greatly.",
  2010.     "seealso" => "679",
  2011. ];
  2012.  
  2013. $irc2numerics[] = [
  2014.     "name"     => "RPL_TIME",
  2015.     "numeric"  => "391",
  2016.     "origin"   => "ircu",
  2017.     "format"   => "<server> <timestamp> <offset> :<time string>",
  2018.     "comment"  => "This extention adds the timestamp and timestamp-offet "
  2019.         . "information for clients.",
  2020.     "conflict" => "yes",
  2021.     "repeated" => "yes",
  2022. ];
  2023.  
  2024. $irc2numerics[] = [
  2025.     "name"     => "RPL_TIME",
  2026.     "numeric"  => "391",
  2027.     "origin"   => "bdq-ircd",
  2028.     "format"   => "<server> <timezone name> <microseconds> :<time string>",
  2029.     "comment"  => "Timezone name is acronym style (eg. 'EST', 'PST' etc). The "
  2030.         . "microseconds field is the number of microseconds since "
  2031.         . "the UNIX epoch, however it is relative to the local "
  2032.         . "timezone of the server. The timezone field is ambiguous, "
  2033.         . "since it only appears to include American zones.",
  2034.     "conflict" => "yes",
  2035.     "repeated" => "yes",
  2036. ];
  2037.  
  2038. $irc2numerics[] = [
  2039.     "name"     => "RPL_TIME",
  2040.     "numeric"  => "391",
  2041.     "format"   => "<server> <year> <month> <day> <hour> <minute> <second>",
  2042.     "comment"  => "Yet another variation, including the time broken down "
  2043.         . "into its components. Time is supposedly relative to UTC.",
  2044.     "conflict" => "yes",
  2045.     "repeated" => "yes",
  2046. ];
  2047.  
  2048. $irc2numerics[] = [
  2049.     "name"    => "RPL_USERSSTART",
  2050.     "numeric" => "392",
  2051.     "origin"  => "RFC1459",
  2052.     "format"  => ":UserID   Terminal  Host",
  2053.     "comment" => "Start of an RPL_USERS list",
  2054. ];
  2055.  
  2056. $irc2numerics[] = [
  2057.     "name"    => "RPL_USERS",
  2058.     "numeric" => "393",
  2059.     "origin"  => "RFC1459",
  2060.     "format"  => ":<username> <ttyline> <hostname>",
  2061.     "comment" => "Response to the USERS command (See RFC)",
  2062. ];
  2063.  
  2064. $irc2numerics[] = [
  2065.     "name"    => "RPL_ENDOFUSERS",
  2066.     "numeric" => "394",
  2067.     "origin"  => "RFC1459",
  2068.     "format"  => ":<info>",
  2069.     "comment" => "Termination of an RPL_USERS list",
  2070. ];
  2071.  
  2072. $irc2numerics[] = [
  2073.     "name"    => "RPL_NOUSERS",
  2074.     "numeric" => "395",
  2075.     "origin"  => "RFC1459",
  2076.     "format"  => ":<info>",
  2077.     "comment" => "Reply to USERS when nobody is logged in",
  2078. ];
  2079.  
  2080. $irc2numerics[] = [
  2081.     "name"    => "RPL_HOSTHIDDEN",
  2082.     "numeric" => "396",
  2083.     "origin"  => "Undernet",
  2084.     "comment" => "Reply to a user when user mode +x (host masking) was set "
  2085.         . "successfully",
  2086. ];
  2087.  
  2088.  
  2089. $irc2numerics[] = "400-599, errors";
  2090.  
  2091. $irc2numerics[] = [
  2092.     "name"    => "ERR_UNKNOWNERROR",
  2093.     "numeric" => "400",
  2094.     "format"  => "<command> [<?>] :<info>",
  2095.     "comment" => "Sent when an error occured executing a command, but it is "
  2096.         . "not specifically known why the command could not be "
  2097.         . "executed.",
  2098. ];
  2099.  
  2100. $irc2numerics[] = [
  2101.     "name"    => "ERR_NOSUCHNICK",
  2102.     "numeric" => "401",
  2103.     "origin"  => "RFC1459",
  2104.     "format"  => "<nick> :<reason>",
  2105.     "comment" => "Used to indicate the nickname parameter supplied to a "
  2106.         . "command is currently unused",
  2107. ];
  2108.  
  2109. $irc2numerics[] = [
  2110.     "name"    => "ERR_NOSUCHSERVER",
  2111.     "numeric" => "402",
  2112.     "origin"  => "RFC1459",
  2113.     "format"  => "<server> :<reason>",
  2114.     "comment" => "Used to indicate the server name given currently doesn't "
  2115.         . "exist",
  2116. ];
  2117.  
  2118. $irc2numerics[] = [
  2119.     "name"    => "ERR_NOSUCHCHANNEL",
  2120.     "numeric" => "403",
  2121.     "origin"  => "RFC1459",
  2122.     "format"  => "<channel> :<reason>",
  2123.     "comment" => "Used to indicate the given channel name is invalid, or "
  2124.         . "does not exist",
  2125. ];
  2126.  
  2127. $irc2numerics[] = [
  2128.     "name"    => "ERR_CANNOTSENDTOCHAN",
  2129.     "numeric" => "404",
  2130.     "origin"  => "RFC1459",
  2131.     "format"  => "<channel> :<reason>",
  2132.     "comment" => "Sent to a user who does not have the rights to send a "
  2133.         . "message to a channel",
  2134. ];
  2135.  
  2136. $irc2numerics[] = [
  2137.     "name"    => "ERR_TOOMANYCHANNELS",
  2138.     "numeric" => "405",
  2139.     "origin"  => "RFC1459",
  2140.     "format"  => "<channel> :<reason>",
  2141.     "comment" => "Sent to a user when they have joined the maximum number "
  2142.         . "of allowed channels and they tried to join another channel",
  2143. ];
  2144.  
  2145. $irc2numerics[] = [
  2146.     "name"    => "ERR_WASNOSUCHNICK",
  2147.     "numeric" => "406",
  2148.     "origin"  => "RFC1459",
  2149.     "format"  => "<nick> :<reason>",
  2150.     "comment" => "Returned by WHOWAS to indicate there was no history "
  2151.         . "information for a given nickname",
  2152. ];
  2153.  
  2154. $irc2numerics[] = [
  2155.     "name"    => "ERR_TOOMANYTARGETS",
  2156.     "numeric" => "407",
  2157.     "origin"  => "RFC1459",
  2158.     "format"  => "<target> :<reason>",
  2159.     "comment" => "The given target(s) for a command are ambiguous in that "
  2160.         . "they relate to too many targets",
  2161. ];
  2162.  
  2163. $irc2numerics[] = [
  2164.     "name"    => "ERR_NOSUCHSERVICE",
  2165.     "numeric" => "408",
  2166.     "origin"  => "RFC2812",
  2167.     "format"  => "<service_name> :<reason>",
  2168.     "comment" => "Returned to a client which is attempting to send an "
  2169.         . "SQUERY (or other message) to a service which does not "
  2170.         . "exist",
  2171. ];
  2172.  
  2173. $irc2numerics[] = [
  2174.     "name"     => "ERR_NOCOLORSONCHAN",
  2175.     "numeric"  => "408",
  2176.     "origin"   => "Bahamut",
  2177.     "conflict" => "yes",
  2178. ];
  2179.  
  2180. $irc2numerics[] = [
  2181.     "name"    => "ERR_NOORIGIN",
  2182.     "numeric" => "409",
  2183.     "origin"  => "RFC1459",
  2184.     "format"  => ":<reason>",
  2185.     "comment" => "PING or PONG message missing the originator parameter "
  2186.         . "which is required since these commands must work without "
  2187.         . "valid prefixes",
  2188. ];
  2189.  
  2190. $irc2numerics[] = [
  2191.     "name"    => "ERR_NORECIPIENT",
  2192.     "numeric" => "411",
  2193.     "origin"  => "RFC1459",
  2194.     "format"  => ":<reason>",
  2195.     "comment" => "Returned when no recipient is given with a command",
  2196. ];
  2197.  
  2198. $irc2numerics[] = [
  2199.     "name"    => "ERR_NOTEXTTOSEND",
  2200.     "numeric" => "412",
  2201.     "origin"  => "RFC1459",
  2202.     "format"  => ":<reason>",
  2203.     "comment" => "Returned when NOTICE/PRIVMSG is used with no message given",
  2204. ];
  2205.  
  2206. $irc2numerics[] = [
  2207.     "name"    => "ERR_NOTOPLEVEL",
  2208.     "numeric" => "413",
  2209.     "origin"  => "RFC1459",
  2210.     "format"  => "<mask> :<reason>",
  2211.     "comment" => "Used when a message is being sent to a mask without being "
  2212.         . "limited to a top-level domain (i.e. * instead of *.au)",
  2213. ];
  2214.  
  2215. $irc2numerics[] = [
  2216.     "name"    => "ERR_WILDTOPLEVEL",
  2217.     "numeric" => "414",
  2218.     "origin"  => "RFC1459",
  2219.     "format"  => "<mask> :<reason>",
  2220.     "comment" => "Used when a message is being sent to a mask with a "
  2221.         . "wild-card for a top level domain (i.e. *.*)",
  2222. ];
  2223.  
  2224. $irc2numerics[] = [
  2225.     "name"    => "ERR_BADMASK",
  2226.     "numeric" => "415",
  2227.     "origin"  => "RFC2812",
  2228.     "format"  => "<mask> :<reason>",
  2229.     "comment" => "Used when a message is being sent to a mask with an "
  2230.         . "invalid syntax",
  2231. ];
  2232.  
  2233. $irc2numerics[] = [
  2234.     "name"    => "ERR_TOOMANYMATCHES",
  2235.     "numeric" => "416",
  2236.     "origin"  => "IRCnet",
  2237.     "format"  => "<command> [<mask>] :<info>",
  2238.     "comment" => "Returned when too many matches have been found for a "
  2239.         . "command and the output has been truncated. An example "
  2240.         . "would be the WHO command, where by the mask '*' would "
  2241.         . "match everyone on the network! Ouch!",
  2242. ];
  2243.  
  2244. $irc2numerics[] = [
  2245.     "name"     => "ERR_QUERYTOOLONG",
  2246.     "numeric"  => "416",
  2247.     "origin"   => "ircu",
  2248.     "comment"  => "Same as ERR_TOOMANYMATCHES",
  2249.     "repeated" => "yes",
  2250. ];
  2251.  
  2252. $irc2numerics[] = [
  2253.     "name"    => "ERR_LENGTHTRUNCATED",
  2254.     "numeric" => "419",
  2255.     "origin"  => "aircd",
  2256. ];
  2257.  
  2258. $irc2numerics[] = [
  2259.     "name"    => "ERR_UNKNOWNCOMMAND",
  2260.     "numeric" => "421",
  2261.     "origin"  => "RFC1459",
  2262.     "format"  => "<command> :<reason>",
  2263.     "comment" => "Returned when the given command is unknown to the server "
  2264.         . "(or hidden because of lack of access rights)",
  2265. ];
  2266.  
  2267. $irc2numerics[] = [
  2268.     "name"    => "ERR_NOMOTD",
  2269.     "numeric" => "422",
  2270.     "origin"  => "RFC1459",
  2271.     "format"  => ":<reason>",
  2272.     "comment" => "Sent when there is no MOTD to send the client",
  2273. ];
  2274.  
  2275. $irc2numerics[] = [
  2276.     "name"    => "ERR_NOADMININFO",
  2277.     "numeric" => "423",
  2278.     "origin"  => "RFC1459",
  2279.     "format"  => "<server> :<reason>",
  2280.     "comment" => "Returned by a server in response to an ADMIN request when "
  2281.         . "no information is available. RFC1459 mentions this in the "
  2282.         . "list of numerics. While it's not listed as a valid reply "
  2283.         . "in section 4.3.7 ('Admin command'), it's confirmed to "
  2284.         . "exist in the real world.",
  2285. ];
  2286.  
  2287. $irc2numerics[] = [
  2288.     "name"    => "ERR_FILEERROR",
  2289.     "numeric" => "424",
  2290.     "origin"  => "RFC1459",
  2291.     "format"  => ":<reason>",
  2292.     "comment" => "Generic error message used to report a failed file "
  2293.         . "operation during the processing of a command",
  2294. ];
  2295.  
  2296. $irc2numerics[] = [
  2297.     "name"    => "ERR_NOOPERMOTD",
  2298.     "numeric" => "425",
  2299.     "origin"  => "Unreal",
  2300. ];
  2301.  
  2302. $irc2numerics[] = [
  2303.     "name"    => "ERR_TOOMANYAWAY",
  2304.     "numeric" => "429",
  2305.     "origin"  => "Bahamut",
  2306. ];
  2307.  
  2308. $irc2numerics[] = [
  2309.     "name"    => "ERR_EVENTNICKCHANGE",
  2310.     "numeric" => "430",
  2311.     "origin"  => "AustHex",
  2312.     "contact" => "[email protected]",
  2313.     "comment" => "Returned by NICK when the user is not allowed to change "
  2314.         . "their nickname due to a channel event (channel mode +E)",
  2315. ];
  2316.  
  2317. $irc2numerics[] = [
  2318.     "name"         => "ERR_NONICKNAMEGIVEN",
  2319.     "numeric"      => "431",
  2320.     "origin"       => "RFC1459",
  2321.     "format"       => ":<reason>",
  2322.     "comment"      => "Returned when a nickname parameter expected for a command "
  2323.         . "isn't found",
  2324.     "registration" => "yes",
  2325. ];
  2326.  
  2327. $irc2numerics[] = [
  2328.     "name"         => "ERR_ERRONEUSNICKNAME",
  2329.     "numeric"      => "432",
  2330.     "origin"       => "RFC1459",
  2331.     "format"       => "<nick> :<reason>",
  2332.     "comment"      => "Returned after receiving a NICK message which contains a "
  2333.         . "nickname which is considered invalid, such as it's "
  2334.         . "reserved ('anonymous') or contains characters considered "
  2335.         . "invalid for nicknames. This numeric is misspelt, but "
  2336.         . "remains with this name for historical reasons :)",
  2337.     "registration" => "yes",
  2338. ];
  2339.  
  2340. $irc2numerics[] = [
  2341.     "name"         => "ERR_NICKNAMEINUSE",
  2342.     "numeric"      => "433",
  2343.     "origin"       => "RFC1459",
  2344.     "format"       => "<nick> :<reason>",
  2345.     "comment"      => "Returned by the NICK command when the given nickname is "
  2346.         . "already in use",
  2347.     "registration" => "yes",
  2348. ];
  2349.  
  2350. $irc2numerics[] = [
  2351.     "name"     => "ERR_SERVICENAMEINUSE",
  2352.     "numeric"  => "434",
  2353.     "origin"   => "AustHex?",
  2354.     "conflict" => "yes",
  2355. ];
  2356.  
  2357. $irc2numerics[] = [
  2358.     "name"     => "ERR_NORULES",
  2359.     "numeric"  => "434",
  2360.     "origin"   => "Unreal, Ultimate",
  2361.     "conflict" => "yes",
  2362. ];
  2363.  
  2364. $irc2numerics[] = [
  2365.     "name"     => "ERR_SERVICECONFUSED",
  2366.     "numeric"  => "435",
  2367.     "origin"   => "Unreal",
  2368.     "conflict" => "yes",
  2369. ];
  2370.  
  2371. $irc2numerics[] = [
  2372.     "name"     => "ERR_BANONCHAN",
  2373.     "numeric"  => "435",
  2374.     "origin"   => "Bahamut",
  2375.     "conflict" => "yes",
  2376. ];
  2377.  
  2378. $irc2numerics[] = [
  2379.     "name"    => "ERR_NICKCOLLISION",
  2380.     "numeric" => "436",
  2381.     "origin"  => "RFC1459",
  2382.     "format"  => "<nick> :<reason>",
  2383.     "comment" => "Returned by a server to a client when it detects a "
  2384.         . "nickname collision",
  2385. ];
  2386.  
  2387. $irc2numerics[] = [
  2388.     "name"     => "ERR_UNAVAILRESOURCE",
  2389.     "numeric"  => "437",
  2390.     "origin"   => "RFC2812",
  2391.     "format"   => "<nick/channel/service> :<reason>",
  2392.     "comment"  => "Return when the target is unable to be reached "
  2393.         . "temporarily, eg. a delay mechanism in play, or a service "
  2394.         . "being offline",
  2395.     "conflict" => "yes",
  2396. ];
  2397.  
  2398. $irc2numerics[] = [
  2399.     "name"     => "ERR_BANNICKCHANGE",
  2400.     "numeric"  => "437",
  2401.     "origin"   => "ircu",
  2402.     "conflict" => "yes",
  2403. ];
  2404.  
  2405. $irc2numerics[] = [
  2406.     "name"     => "ERR_NICKTOOFAST",
  2407.     "numeric"  => "438",
  2408.     "origin"   => "ircu",
  2409.     "comment"  => "Also known as ERR_NCHANGETOOFAST (Unreal, Ultimate)",
  2410.     "conflict" => "yes",
  2411. ];
  2412.  
  2413. $irc2numerics[] = [
  2414.     "name"     => "ERR_DEAD",
  2415.     "numeric"  => "438",
  2416.     "origin"   => "IRCnet",
  2417.     "conflict" => "yes",
  2418. ];
  2419.  
  2420. $irc2numerics[] = [
  2421.     "name"    => "ERR_TARGETTOOFAST",
  2422.     "numeric" => "439",
  2423.     "origin"  => "ircu",
  2424.     "comment" => "Also known as many other things, RPL_INVTOOFAST, "
  2425.         . "RPL_MSGTOOFAST etc",
  2426. ];
  2427.  
  2428. $irc2numerics[] = [
  2429.     "name"    => "ERR_SERVICESDOWN",
  2430.     "numeric" => "440",
  2431.     "origin"  => "Bahamut, Unreal",
  2432. ];
  2433.  
  2434. $irc2numerics[] = [
  2435.     "name"    => "ERR_USERNOTINCHANNEL",
  2436.     "numeric" => "441",
  2437.     "origin"  => "RFC1459",
  2438.     "format"  => "<nick> <channel> :<reason>",
  2439.     "comment" => "Returned by the server to indicate that the target user "
  2440.         . "of the command is not on the given channel",
  2441. ];
  2442.  
  2443. $irc2numerics[] = [
  2444.     "name"    => "ERR_NOTONCHANNEL",
  2445.     "numeric" => "442",
  2446.     "origin"  => "RFC1459",
  2447.     "format"  => "<channel> :<reason>",
  2448.     "comment" => "Returned by the server whenever a client tries to "
  2449.         . "perform a channel effecting command for which the client "
  2450.         . "is not a member",
  2451. ];
  2452.  
  2453. $irc2numerics[] = [
  2454.     "name"    => "ERR_USERONCHANNEL",
  2455.     "numeric" => "443",
  2456.     "origin"  => "RFC1459",
  2457.     "format"  => "<nick> <channel> [:<reason>]",
  2458.     "comment" => "Returned when a client tries to invite a user to a "
  2459.         . "channel they're already on",
  2460. ];
  2461.  
  2462. $irc2numerics[] = [
  2463.     "name"    => "ERR_NOLOGIN",
  2464.     "numeric" => "444",
  2465.     "origin"  => "RFC1459",
  2466.     "format"  => "<user> :<reason>",
  2467.     "comment" => "Returned by the SUMMON command if a given user was not "
  2468.         . "logged in and could not be summoned",
  2469. ];
  2470.  
  2471. $irc2numerics[] = [
  2472.     "name"    => "ERR_SUMMONDISABLED",
  2473.     "numeric" => "445",
  2474.     "origin"  => "RFC1459",
  2475.     "format"  => ":<reason>",
  2476.     "comment" => "Returned by SUMMON when it has been disabled or not "
  2477.         . "implemented",
  2478. ];
  2479.  
  2480. $irc2numerics[] = [
  2481.     "name"    => "ERR_USERSDISABLED",
  2482.     "numeric" => "446",
  2483.     "origin"  => "RFC1459",
  2484.     "format"  => ":<reason>",
  2485.     "comment" => "Returned by USERS when it has been disabled or not "
  2486.         . "implemented",
  2487. ];
  2488.  
  2489. $irc2numerics[] = [
  2490.     "name"    => "ERR_NONICKCHANGE",
  2491.     "numeric" => "447",
  2492.     "origin"  => "Unreal",
  2493. ];
  2494.  
  2495. $irc2numerics[] = [
  2496.     "name"         => "ERR_NOTIMPLEMENTED",
  2497.     "numeric"      => "449",
  2498.     "origin"       => "Undernet",
  2499.     "format"       => "Unspecified",
  2500.     "comment"      => "Returned when a requested feature is not implemented "
  2501.         . "(and cannot be completed)",
  2502.     "registration" => "yes",
  2503. ];
  2504.  
  2505. $irc2numerics[] = [
  2506.     "name"         => "ERR_NOTREGISTERED",
  2507.     "numeric"      => "451",
  2508.     "origin"       => "RFC1459",
  2509.     "format"       => ":<reason>",
  2510.     "comment"      => "Returned by the server to indicate that the client must "
  2511.         . "be registered before the server will allow it to be "
  2512.         . "parsed in detail",
  2513.     "registration" => "yes",
  2514. ];
  2515.  
  2516. $irc2numerics[] = [
  2517.     "name"    => "ERR_IDCOLLISION",
  2518.     "numeric" => "452",
  2519. ];
  2520.  
  2521. $irc2numerics[] = [
  2522.     "name"    => "ERR_NICKLOST",
  2523.     "numeric" => "453",
  2524. ];
  2525.  
  2526. $irc2numerics[] = [
  2527.     "name"    => "ERR_HOSTILENAME",
  2528.     "numeric" => "455",
  2529.     "origin"  => "Unreal",
  2530. ];
  2531.  
  2532. $irc2numerics[] = [
  2533.     "name"    => "ERR_ACCEPTFULL",
  2534.     "numeric" => "456",
  2535. ];
  2536.  
  2537. $irc2numerics[] = [
  2538.     "name"    => "ERR_ACCEPTEXIST",
  2539.     "numeric" => "457",
  2540. ];
  2541.  
  2542. $irc2numerics[] = [
  2543.     "name"    => "ERR_ACCEPTNOT",
  2544.     "numeric" => "458",
  2545. ];
  2546.  
  2547. $irc2numerics[] = [
  2548.     "name"    => "ERR_NOHIDING",
  2549.     "numeric" => "459",
  2550.     "origin"  => "Unreal",
  2551.     "comment" => "Not allowed to become an invisible operator?",
  2552. ];
  2553.  
  2554. $irc2numerics[] = [
  2555.     "name"    => "ERR_NOTFORHALFOPS",
  2556.     "numeric" => "460",
  2557.     "origin"  => "Unreal",
  2558. ];
  2559.  
  2560. $irc2numerics[] = [
  2561.     "name"         => "ERR_NEEDMOREPARAMS",
  2562.     "numeric"      => "461",
  2563.     "origin"       => "RFC1459",
  2564.     "format"       => "<command> :<reason>",
  2565.     "comment"      => "Returned by the server by any command which requires "
  2566.         . "more parameters than the number of parameters given",
  2567.     "registration" => "yes",
  2568. ];
  2569.  
  2570. $irc2numerics[] = [
  2571.     "name"         => "ERR_ALREADYREGISTERED",
  2572.     "numeric"      => "462",
  2573.     "origin"       => "RFC1459",
  2574.     "format"       => ":<reason>",
  2575.     "comment"      => "Returned by the server to any link which attempts to "
  2576.         . "register again",
  2577.     "registration" => "yes",
  2578. ];
  2579.  
  2580. $irc2numerics[] = [
  2581.     "name"    => "ERR_NOPERMFORHOST",
  2582.     "numeric" => "463",
  2583.     "origin"  => "RFC1459",
  2584.     "format"  => ":<reason>",
  2585.     "comment" => "Returned to a client which attempts to register with a "
  2586.         . "server which has been configured to refuse connections "
  2587.         . "from the client's host",
  2588. ];
  2589.  
  2590. $irc2numerics[] = [
  2591.     "name"         => "ERR_PASSWDMISMATCH",
  2592.     "numeric"      => "464",
  2593.     "origin"       => "RFC1459",
  2594.     "format"       => ":<reason>",
  2595.     "comment"      => "Returned by the PASS command to indicate the given "
  2596.         . "password was required and was either not given or was "
  2597.         . "incorrect",
  2598.     "registration" => "yes",
  2599. ];
  2600.  
  2601. $irc2numerics[] = [
  2602.     "name"    => "ERR_YOUREBANNEDCREEP",
  2603.     "numeric" => "465",
  2604.     "origin"  => "RFC1459",
  2605.     "format"  => ":<reason>",
  2606.     "comment" => "Returned to a client after an attempt to register on a "
  2607.         . "server configured to ban connections from that client",
  2608. ];
  2609.  
  2610. $irc2numerics[] = [
  2611.     "name"     => "ERR_YOUWILLBEBANNED",
  2612.     "numeric"  => "466",
  2613.     "origin"   => "RFC1459",
  2614.     "comment"  => "Sent by a server to a user to inform that access to the "
  2615.         . "server will soon be denied",
  2616.     "obsolete" => "yes",
  2617. ];
  2618.  
  2619. $irc2numerics[] = [
  2620.     "name"    => "ERR_KEYSET",
  2621.     "numeric" => "467",
  2622.     "origin"  => "RFC1459",
  2623.     "format"  => "<channel> :<reason>",
  2624.     "comment" => "Returned when the channel key for a channel has already "
  2625.         . "been set",
  2626. ];
  2627.  
  2628. $irc2numerics[] = [
  2629.     "name"     => "ERR_INVALIDUSERNAME",
  2630.     "numeric"  => "468",
  2631.     "origin"   => "ircu",
  2632.     "conflict" => "yes",
  2633. ];
  2634.  
  2635. $irc2numerics[] = [
  2636.     "name"     => "ERR_ONLYSERVERSCANCHANGE",
  2637.     "numeric"  => "468",
  2638.     "origin"   => "Bahamut, Unreal",
  2639.     "conflict" => "yes",
  2640. ];
  2641.  
  2642. $irc2numerics[] = [
  2643.     "name"    => "ERR_LINKSET",
  2644.     "numeric" => "469",
  2645.     "origin"  => "Unreal",
  2646. ];
  2647.  
  2648. $irc2numerics[] = [
  2649.     "name"     => "ERR_LINKCHANNEL",
  2650.     "numeric"  => "470",
  2651.     "origin"   => "Unreal",
  2652.     "conflict" => "yes",
  2653. ];
  2654.  
  2655. $irc2numerics[] = [
  2656.     "name"     => "ERR_KICKEDFROMCHAN",
  2657.     "numeric"  => "470",
  2658.     "origin"   => "aircd",
  2659.     "conflict" => "yes",
  2660. ];
  2661.  
  2662. $irc2numerics[] = [
  2663.     "name"    => "ERR_CHANNELISFULL",
  2664.     "numeric" => "471",
  2665.     "origin"  => "RFC1459",
  2666.     "format"  => "<channel> :<reason>",
  2667.     "comment" => "Returned when attempting to join a channel which is set "
  2668.         . "+l and is already full",
  2669. ];
  2670.  
  2671. $irc2numerics[] = [
  2672.     "name"    => "ERR_UNKNOWNMODE",
  2673.     "numeric" => "472",
  2674.     "origin"  => "RFC1459",
  2675.     "format"  => "<char> :<reason>",
  2676.     "comment" => "Returned when a given mode is unknown",
  2677. ];
  2678.  
  2679. $irc2numerics[] = [
  2680.     "name"    => "ERR_INVITEONLYCHAN",
  2681.     "numeric" => "473",
  2682.     "origin"  => "RFC1459",
  2683.     "format"  => "<channel> :<reason>",
  2684.     "comment" => "Returned when attempting to join a channel which is "
  2685.         . "invite only without an invitation",
  2686. ];
  2687.  
  2688. $irc2numerics[] = [
  2689.     "name"    => "ERR_BANNEDFROMCHAN",
  2690.     "numeric" => "474",
  2691.     "origin"  => "RFC1459",
  2692.     "format"  => "<channel> :<reason>",
  2693.     "comment" => "Returned when attempting to join a channel a user is "
  2694.         . "banned from",
  2695. ];
  2696.  
  2697. $irc2numerics[] = [
  2698.     "name"    => "ERR_BADCHANNELKEY",
  2699.     "numeric" => "475",
  2700.     "origin"  => "RFC1459",
  2701.     "format"  => "<channel> :<reason>",
  2702.     "comment" => "Returned when attempting to join a key-locked channel "
  2703.         . "either without a key or with the wrong key",
  2704. ];
  2705.  
  2706. $irc2numerics[] = [
  2707.     "name"    => "ERR_BADCHANMASK",
  2708.     "numeric" => "476",
  2709.     "origin"  => "RFC2812",
  2710.     "format"  => "<channel> :<reason>",
  2711.     "comment" => "The given channel mask was invalid",
  2712. ];
  2713.  
  2714. $irc2numerics[] = [
  2715.     "name"     => "ERR_NOCHANMODES",
  2716.     "numeric"  => "477",
  2717.     "origin"   => "RFC2812",
  2718.     "format"   => "<channel> :<reason>",
  2719.     "comment"  => "Returned when attempting to set a mode on a channel which "
  2720.         . "does not support channel modes, or channel mode changes. "
  2721.         . "Also known as ERR_MODELESS",
  2722.     "conflict" => "yes",
  2723. ];
  2724.  
  2725. $irc2numerics[] = [
  2726.     "name"     => "ERR_NEEDREGGEDNICK",
  2727.     "numeric"  => "477",
  2728.     "origin"   => "Bahamut, ircu, Unreal",
  2729.     "conflict" => "yes",
  2730. ];
  2731.  
  2732. $irc2numerics[] = [
  2733.     "name"    => "ERR_BANLISTFULL",
  2734.     "numeric" => "478",
  2735.     "origin"  => "RFC2812",
  2736.     "format"  => "<channel> <char> :<reason>",
  2737.     "comment" => "Returned when a channel access list (i.e. ban list etc) "
  2738.         . "is full and cannot be added to",
  2739. ];
  2740.  
  2741. $irc2numerics[] = [
  2742.     "name"    => "ERR_BADCHANNAME",
  2743.     "numeric" => "479",
  2744.     "origin"  => "Hybrid",
  2745. ];
  2746.  
  2747. $irc2numerics[] = [
  2748.     "name"    => "ERR_LINKFAIL",
  2749.     "numeric" => "479",
  2750.     "origin"  => "Unreal",
  2751. ];
  2752.  
  2753. $irc2numerics[] = [
  2754.     "name"     => "ERR_NOULINE",
  2755.     "numeric"  => "480",
  2756.     "origin"   => "AustHex",
  2757.     "contact"  => "[email protected]",
  2758.     "conflict" => "yes",
  2759. ];
  2760.  
  2761. $irc2numerics[] = [
  2762.     "name"     => "ERR_CANNOTKNOCK",
  2763.     "numeric"  => "480",
  2764.     "origin"   => "Unreal",
  2765.     "conflict" => "yes",
  2766. ];
  2767.  
  2768. $irc2numerics[] = [
  2769.     "name"    => "ERR_NOPRIVILEGES",
  2770.     "numeric" => "481",
  2771.     "origin"  => "RFC1459",
  2772.     "format"  => ":<reason>",
  2773.     "comment" => "Returned by any command requiring special privileges "
  2774.         . "(eg. IRC operator) to indicate the operation was "
  2775.         . "unsuccessful",
  2776. ];
  2777.  
  2778. $irc2numerics[] = [
  2779.     "name"    => "ERR_CHANOPRIVSNEEDED",
  2780.     "numeric" => "482",
  2781.     "origin"  => "RFC1459",
  2782.     "format"  => "<channel> :<reason>",
  2783.     "comment" => "Returned by any command requiring special channel "
  2784.         . "privileges (eg. channel operator) to indicate the "
  2785.         . "operation was unsuccessful",
  2786. ];
  2787.  
  2788. $irc2numerics[] = [
  2789.     "name"    => "ERR_CANTKILLSERVER",
  2790.     "numeric" => "483",
  2791.     "origin"  => "RFC1459",
  2792.     "format"  => ":<reason>",
  2793.     "comment" => "Returned by KILL to anyone who tries to kill a server",
  2794. ];
  2795.  
  2796. $irc2numerics[] = [
  2797.     "name"     => "ERR_RESTRICTED",
  2798.     "numeric"  => "484",
  2799.     "origin"   => "RFC2812",
  2800.     "format"   => ":<reason>",
  2801.     "comment"  => "Sent by the server to a user upon connection to "
  2802.         . "indicate the restricted nature of the connection (i.e. "
  2803.         . "usermode +r)",
  2804.     "conflict" => "yes",
  2805. ];
  2806.  
  2807. $irc2numerics[] = [
  2808.     "name"     => "ERR_ISCHANSERVICE",
  2809.     "numeric"  => "484",
  2810.     "origin"   => "Undernet",
  2811.     "conflict" => "yes",
  2812. ];
  2813.  
  2814. $irc2numerics[] = [
  2815.     "name"     => "ERR_DESYNC",
  2816.     "numeric"  => "484",
  2817.     "origin"   => "Bahamut, Hybrid, PTlink",
  2818.     "conflict" => "yes",
  2819. ];
  2820.  
  2821. $irc2numerics[] = [
  2822.     "name"     => "ERR_ATTACKDENY",
  2823.     "numeric"  => "484",
  2824.     "origin"   => "Unreal",
  2825.     "conflict" => "yes",
  2826. ];
  2827.  
  2828. $irc2numerics[] = [
  2829.     "name"    => "ERR_UNIQOPRIVSNEEDED",
  2830.     "numeric" => "485",
  2831.     "origin"  => "RFC2812",
  2832.     "format"  => ":<reason>",
  2833.     "comment" => "Any mode requiring 'channel creator' privileges returns "
  2834.         . "this error if the client is attempting to use it while "
  2835.         . "not a channel creator on the given channel",
  2836. ];
  2837.  
  2838. $irc2numerics[] = [
  2839.     "name"     => "ERR_KILLDENY",
  2840.     "numeric"  => "485",
  2841.     "origin"   => "Unreal",
  2842.     "conflict" => "yes",
  2843. ];
  2844.  
  2845. $irc2numerics[] = [
  2846.     "name"     => "ERR_CANTKICKADMIN",
  2847.     "numeric"  => "485",
  2848.     "origin"   => "PTlink",
  2849.     "conflict" => "yes",
  2850. ];
  2851.  
  2852. $irc2numerics[] = [
  2853.     "name"     => "ERR_ISREALSERVICE",
  2854.     "numeric"  => "485",
  2855.     "origin"   => "QuakeNet",
  2856.     "conflict" => "yes",
  2857. ];
  2858.  
  2859. $irc2numerics[] = [
  2860.     "name"     => "ERR_NONONREG",
  2861.     "numeric"  => "486",
  2862.     "conflict" => "yes",
  2863. ];
  2864.  
  2865. $irc2numerics[] = [
  2866.     "name"     => "ERR_HTMDISABLED",
  2867.     "numeric"  => "486",
  2868.     "origin"   => "Unreal",
  2869.     "conflict" => "yes",
  2870. ];
  2871.  
  2872. $irc2numerics[] = [
  2873.     "name"     => "ERR_ACCOUNTONLY",
  2874.     "numeric"  => "486",
  2875.     "origin"   => "QuakeNet",
  2876.     "conflict" => "yes",
  2877. ];
  2878.  
  2879. $irc2numerics[] = [
  2880.     "name"     => "ERR_CHANTOORECENT",
  2881.     "numeric"  => "487",
  2882.     "origin"   => "IRCnet",
  2883.     "conflict" => "yes",
  2884. ];
  2885.  
  2886. $irc2numerics[] = [
  2887.     "name"     => "ERR_MSGSERVICES",
  2888.     "numeric"  => "487",
  2889.     "origin"   => "Bahamut",
  2890.     "conflict" => "yes",
  2891. ];
  2892.  
  2893. $irc2numerics[] = [
  2894.     "name"    => "ERR_TSLESSCHAN",
  2895.     "numeric" => "488",
  2896.     "origin"  => "IRCnet",
  2897. ];
  2898.  
  2899. $irc2numerics[] = [
  2900.     "name"     => "ERR_VOICENEEDED",
  2901.     "numeric"  => "489",
  2902.     "origin"   => "Undernet",
  2903.     "conflict" => "yes",
  2904. ];
  2905.  
  2906. $irc2numerics[] = [
  2907.     "name"     => "ERR_SECUREONLYCHAN",
  2908.     "numeric"  => "489",
  2909.     "origin"   => "Unreal",
  2910.     "conflict" => "yes",
  2911. ];
  2912.  
  2913. $irc2numerics[] = [
  2914.     "name"    => "ERR_NOOPERHOST",
  2915.     "numeric" => "491",
  2916.     "origin"  => "RFC1459",
  2917.     "format"  => ":<reason>",
  2918.     "comment" => "Returned by OPER to a client who cannot become an IRC "
  2919.         . "operator because the server has been configured to "
  2920.         . "disallow the client's host",
  2921. ];
  2922.  
  2923. $irc2numerics[] = [
  2924.     "name"     => "ERR_NOSERVICEHOST",
  2925.     "numeric"  => "492",
  2926.     "origin"   => "RFC1459",
  2927.     "obsolete" => "yes",
  2928. ];
  2929.  
  2930. $irc2numerics[] = [
  2931.     "name"    => "ERR_NOFEATURE",
  2932.     "numeric" => "493",
  2933.     "origin"  => "ircu",
  2934. ];
  2935.  
  2936. $irc2numerics[] = [
  2937.     "name"    => "ERR_BADFEATURE",
  2938.     "numeric" => "494",
  2939.     "origin"  => "ircu",
  2940. ];
  2941.  
  2942. $irc2numerics[] = [
  2943.     "name"    => "ERR_BADLOGTYPE",
  2944.     "numeric" => "495",
  2945.     "origin"  => "ircu",
  2946. ];
  2947.  
  2948. $irc2numerics[] = [
  2949.     "name"    => "ERR_BADLOGSYS",
  2950.     "numeric" => "496",
  2951.     "origin"  => "ircu",
  2952. ];
  2953.  
  2954. $irc2numerics[] = [
  2955.     "name"    => "ERR_BADLOGVALUE",
  2956.     "numeric" => "497",
  2957.     "origin"  => "ircu",
  2958. ];
  2959.  
  2960. $irc2numerics[] = [
  2961.     "name"    => "ERR_ISOPERLCHAN",
  2962.     "numeric" => "498",
  2963.     "origin"  => "ircu",
  2964. ];
  2965.  
  2966. $irc2numerics[] = [
  2967.     "name"    => "ERR_CHANOWNPRIVNEEDED",
  2968.     "numeric" => "499",
  2969.     "origin"  => "Unreal",
  2970.     "comment" => "Works just like ERR_CHANOPRIVSNEEDED except it indicates "
  2971.         . "that owner status (+q) is needed.",
  2972.     "seealso" => "482",
  2973. ];
  2974.  
  2975. $irc2numerics[] = [
  2976.     "name"    => "ERR_UMODEUNKNOWNFLAG",
  2977.     "numeric" => "501",
  2978.     "origin"  => "RFC1459",
  2979.     "format"  => ":<reason>",
  2980.     "comment" => "Returned by the server to indicate that a MODE message "
  2981.         . "was sent with a nickname parameter and that the mode "
  2982.         . "flag sent was not recognised",
  2983. ];
  2984.  
  2985. $irc2numerics[] = [
  2986.     "name"    => "ERR_USERSDONTMATCH",
  2987.     "numeric" => "502",
  2988.     "origin"  => "RFC1459",
  2989.     "format"  => ":<reason>",
  2990.     "comment" => "Error sent to any user trying to view or change the "
  2991.         . "user mode for a user other than themselves",
  2992. ];
  2993.  
  2994. $irc2numerics[] = [
  2995.     "name"    => "ERR_GHOSTEDCLIENT",
  2996.     "numeric" => "503",
  2997.     "origin"  => "Hybrid",
  2998. ];
  2999.  
  3000. $irc2numerics[] = [
  3001.     "name"     => "ERR_VWORLDWARN",
  3002.     "numeric"  => "503",
  3003.     "origin"   => "AustHex",
  3004.     "contact"  => "[email protected]",
  3005.     "format"   => ":<warning_text>",
  3006.     "comment"  => "Warning about Virtual-World being turned off. Obsoleted "
  3007.         . "in favour for RPL_MODECHANGEWARN",
  3008.     "seealso"  => "662",
  3009.     "obsolete" => "yes",
  3010. ];
  3011.  
  3012. $irc2numerics[] = [
  3013.     "name"    => "ERR_USERNOTONSERV",
  3014.     "numeric" => "504",
  3015. ];
  3016.  
  3017. $irc2numerics[] = [
  3018.     "name"    => "ERR_SILELISTFULL",
  3019.     "numeric" => "511",
  3020.     "origin"  => "ircu",
  3021. ];
  3022.  
  3023. $irc2numerics[] = [
  3024.     "name"    => "ERR_TOOMANYWATCH",
  3025.     "numeric" => "512",
  3026.     "origin"  => "Bahamut",
  3027.     "comment" => "Also known as ERR_NOTIFYFULL (aircd), I presume they are "
  3028.         . "the same",
  3029. ];
  3030.  
  3031. $irc2numerics[] = [
  3032.     "name"         => "ERR_BADPING",
  3033.     "numeric"      => "513",
  3034.     "origin"       => "ircu",
  3035.     "comment"      => "Also known as ERR_NEEDPONG (Unreal/Ultimate) for use "
  3036.         . "during registration, however it's not used in Unreal "
  3037.         . "(and might not be used in Ultimate either).",
  3038.     "registration" => "yes",
  3039. ];
  3040.  
  3041. $irc2numerics[] = [
  3042.     "name"     => "ERR_INVALID_ERROR",
  3043.     "numeric"  => "514",
  3044.     "origin"   => "ircu",
  3045.     "conflict" => "yes",
  3046. ];
  3047.  
  3048. $irc2numerics[] = [
  3049.     "name"     => "ERR_TOOMANYDCC",
  3050.     "numeric"  => "514",
  3051.     "origin"   => "Bahamut (+ Unreal?)",
  3052.     "conflict" => "yes",
  3053. ];
  3054.  
  3055. $irc2numerics[] = [
  3056.     "name"    => "ERR_BADEXPIRE",
  3057.     "numeric" => "515",
  3058.     "origin"  => "ircu",
  3059. ];
  3060.  
  3061. $irc2numerics[] = [
  3062.     "name"    => "ERR_DONTCHEAT",
  3063.     "numeric" => "516",
  3064.     "origin"  => "ircu",
  3065. ];
  3066.  
  3067. $irc2numerics[] = [
  3068.     "name"    => "ERR_DISABLED",
  3069.     "numeric" => "517",
  3070.     "origin"  => "ircu",
  3071.     "format"  => "<command> :<info/reason>",
  3072. ];
  3073.  
  3074. $irc2numerics[] = [
  3075.     "name"     => "ERR_NOINVITE",
  3076.     "numeric"  => "518",
  3077.     "origin"   => "Unreal",
  3078.     "conflict" => "yes",
  3079. ];
  3080.  
  3081. $irc2numerics[] = [
  3082.     "name"     => "ERR_LONGMASK",
  3083.     "numeric"  => "518",
  3084.     "origin"   => "ircu",
  3085.     "conflict" => "yes",
  3086. ];
  3087.  
  3088. $irc2numerics[] = [
  3089.     "name"     => "ERR_ADMONLY",
  3090.     "numeric"  => "519",
  3091.     "origin"   => "Unreal",
  3092.     "conflict" => "yes",
  3093. ];
  3094.  
  3095. $irc2numerics[] = [
  3096.     "name"     => "ERR_TOOMANYUSERS",
  3097.     "numeric"  => "519",
  3098.     "origin"   => "ircu",
  3099.     "conflict" => "yes",
  3100. ];
  3101.  
  3102. $irc2numerics[] = [
  3103.     "name"     => "ERR_OPERONLY",
  3104.     "numeric"  => "520",
  3105.     "origin"   => "Unreal",
  3106.     "conflict" => "yes",
  3107. ];
  3108.  
  3109. $irc2numerics[] = [
  3110.     "name"     => "ERR_MASKTOOWIDE",
  3111.     "numeric"  => "520",
  3112.     "origin"   => "ircu",
  3113.     "conflict" => "yes",
  3114. ];
  3115.  
  3116. $irc2numerics[] = [
  3117.     "name"     => "ERR_WHOTRUNC",
  3118.     "numeric"  => "520",
  3119.     "origin"   => "AustHex",
  3120.     "contact"  => "[email protected]",
  3121.     "comment"  => "This is considered obsolete in favour of "
  3122.         . "ERR_TOOMANYMATCHES, and should no longer be used.",
  3123.     "seealso"  => "416",
  3124.     "obsolete" => "yes",
  3125. ];
  3126.  
  3127. $irc2numerics[] = [
  3128.     "name"     => "ERR_LISTSYNTAX",
  3129.     "numeric"  => "521",
  3130.     "origin"   => "Bahamut",
  3131.     "conflict" => "yes",
  3132. ];
  3133.  
  3134. $irc2numerics[] = [
  3135.     "name"    => "ERR_WHOSYNTAX",
  3136.     "numeric" => "522",
  3137.     "origin"  => "Bahamut",
  3138. ];
  3139.  
  3140. $irc2numerics[] = [
  3141.     "name"    => "ERR_WHOLIMEXCEED",
  3142.     "numeric" => "523",
  3143.     "origin"  => "Bahamut",
  3144. ];
  3145.  
  3146. $irc2numerics[] = [
  3147.     "name"     => "ERR_QUARANTINED",
  3148.     "numeric"  => "524",
  3149.     "origin"   => "ircu",
  3150.     "conflict" => "yes",
  3151. ];
  3152.  
  3153. $irc2numerics[] = [
  3154.     "name"     => "ERR_OPERSPVERIFY",
  3155.     "numeric"  => "524",
  3156.     "origin"   => "Unreal",
  3157.     "conflict" => "yes",
  3158. ];
  3159.  
  3160. $irc2numerics[] = [
  3161.     "name"        => "ERR_REMOTEPFX",
  3162.     "numeric"     => "525",
  3163.     "origin"      => "CAPAB USERCMDPFX",
  3164.     "contact"     => "[email protected]",
  3165.     "information" => "http://www.hades.skumler.net/~ejb/draft-brocklesby-irc-usercmdpfx-00.txt",
  3166.     "format"      => "<nickname> :<reason>",
  3167.     "comment"     => "Proposed.",
  3168. ];
  3169.  
  3170. $irc2numerics[] = [
  3171.     "name"        => "ERR_PFXUNROUTABLE",
  3172.     "numeric"     => "526",
  3173.     "origin"      => "CAPAB USERCMDPFX",
  3174.     "contact"     => "[email protected]",
  3175.     "information" => "http://www.hades.skumler.net/~ejb/draft-brocklesby-irc-usercmdpfx-00.txt",
  3176.     "format"      => "<nickname> :<reason>",
  3177.     "comment"     => "Proposed.",
  3178. ];
  3179.  
  3180. $irc2numerics[] = [
  3181.     "name"    => "ERR_BADHOSTMASK",
  3182.     "numeric" => "550",
  3183.     "origin"  => "QuakeNet",
  3184. ];
  3185.  
  3186. $irc2numerics[] = [
  3187.     "name"    => "ERR_HOSTUNAVAIL",
  3188.     "numeric" => "551",
  3189.     "origin"  => "QuakeNet",
  3190. ];
  3191.  
  3192. $irc2numerics[] = [
  3193.     "name"    => "ERR_USINGSLINE",
  3194.     "numeric" => "552",
  3195.     "origin"  => "QuakeNet",
  3196. ];
  3197.  
  3198. $irc2numerics[] = [
  3199.     "name"     => "ERR_STATSSLINE",
  3200.     "numeric"  => "553",
  3201.     "origin"   => "QuakeNet",
  3202.     "conflict" => "yes",
  3203. ];
  3204.  
  3205.  
  3206. $irc2numerics[] = "600-899, reply from server commands";
  3207.  
  3208. $irc2numerics[] = [
  3209.     "name"    => "RPL_LOGON",
  3210.     "numeric" => "600",
  3211.     "origin"  => "Bahamut, Unreal",
  3212. ];
  3213.  
  3214. $irc2numerics[] = [
  3215.     "name"    => "RPL_LOGOFF",
  3216.     "numeric" => "601",
  3217.     "origin"  => "Bahamut, Unreal",
  3218. ];
  3219.  
  3220. $irc2numerics[] = [
  3221.     "name"    => "RPL_WATCHOFF",
  3222.     "numeric" => "602",
  3223.     "origin"  => "Bahamut, Unreal",
  3224. ];
  3225.  
  3226. $irc2numerics[] = [
  3227.     "name"    => "RPL_WATCHSTAT",
  3228.     "numeric" => "603",
  3229.     "origin"  => "Bahamut, Unreal",
  3230. ];
  3231.  
  3232. $irc2numerics[] = [
  3233.     "name"    => "RPL_NOWON",
  3234.     "numeric" => "604",
  3235.     "origin"  => "Bahamut, Unreal",
  3236. ];
  3237.  
  3238. $irc2numerics[] = [
  3239.     "name"    => "RPL_NOWOFF",
  3240.     "numeric" => "605",
  3241.     "origin"  => "Bahamut, Unreal",
  3242. ];
  3243.  
  3244. $irc2numerics[] = [
  3245.     "name"    => "RPL_WATCHLIST",
  3246.     "numeric" => "606",
  3247.     "origin"  => "Bahamut, Unreal",
  3248. ];
  3249.  
  3250. $irc2numerics[] = [
  3251.     "name"    => "RPL_ENDOFWATCHLIST",
  3252.     "numeric" => "607",
  3253.     "origin"  => "Bahamut, Unreal",
  3254. ];
  3255.  
  3256. $irc2numerics[] = [
  3257.     "name"    => "RPL_WATCHCLEAR",
  3258.     "numeric" => "608",
  3259.     "origin"  => "Ultimate",
  3260. ];
  3261.  
  3262. $irc2numerics[] = [
  3263.     "name"     => "RPL_MAPMORE",
  3264.     "numeric"  => "610",
  3265.     "origin"   => "Unreal",
  3266.     "conflict" => "yes",
  3267. ];
  3268.  
  3269. $irc2numerics[] = [
  3270.     "name"     => "RPL_ISOPER",
  3271.     "numeric"  => "610",
  3272.     "origin"   => "Ultimate",
  3273.     "conflict" => "yes",
  3274. ];
  3275.  
  3276. $irc2numerics[] = [
  3277.     "name"    => "RPL_ISLOCOP",
  3278.     "numeric" => "611",
  3279.     "origin"  => "Ultimate",
  3280. ];
  3281.  
  3282. $irc2numerics[] = [
  3283.     "name"    => "RPL_ISNOTOPER",
  3284.     "numeric" => "612",
  3285.     "origin"  => "Ultimate",
  3286. ];
  3287.  
  3288. $irc2numerics[] = [
  3289.     "name"    => "RPL_ENDOFISOPER",
  3290.     "numeric" => "613",
  3291.     "origin"  => "Ultimate",
  3292. ];
  3293.  
  3294. $irc2numerics[] = [
  3295.     "name"     => "RPL_MAPMORE",
  3296.     "numeric"  => "615",
  3297.     "origin"   => "PTlink",
  3298.     "conflict" => "yes",
  3299. ];
  3300.  
  3301. $irc2numerics[] = [
  3302.     "name"     => "RPL_WHOISMODES",
  3303.     "numeric"  => "615",
  3304.     "origin"   => "Ultimate",
  3305.     "conflict" => "yes",
  3306. ];
  3307.  
  3308. $irc2numerics[] = [
  3309.     "name"     => "RPL_WHOISHOST",
  3310.     "numeric"  => "616",
  3311.     "origin"   => "Ultimate",
  3312.     "conflict" => "yes",
  3313. ];
  3314.  
  3315. $irc2numerics[] = [
  3316.     "name"     => "RPL_DCCSTATUS",
  3317.     "numeric"  => "617",
  3318.     "origin"   => "Bahamut ( + Unreal?)",
  3319.     "conflict" => "yes",
  3320. ];
  3321.  
  3322. $irc2numerics[] = [
  3323.     "name"     => "RPL_WHOISBOT",
  3324.     "numeric"  => "617",
  3325.     "origin"   => "Ultimate",
  3326.     "conflict" => "yes",
  3327. ];
  3328.  
  3329. $irc2numerics[] = [
  3330.     "name"    => "RPL_DCCLIST",
  3331.     "numeric" => "618",
  3332.     "origin"  => "Bahamut (+ Unreal?)",
  3333. ];
  3334.  
  3335. $irc2numerics[] = [
  3336.     "name"     => "RPL_ENDOFDCCLIST",
  3337.     "numeric"  => "619",
  3338.     "origin"   => "Bahamut (+ Unreal?)",
  3339.     "conflict" => "yes",
  3340. ];
  3341.  
  3342. $irc2numerics[] = [
  3343.     "name"     => "RPL_WHOWASHOST",
  3344.     "numeric"  => "619",
  3345.     "origin"   => "Ultimate",
  3346.     "conflict" => "yes",
  3347. ];
  3348.  
  3349. $irc2numerics[] = [
  3350.     "name"     => "RPL_DCCINFO",
  3351.     "numeric"  => "620",
  3352.     "origin"   => "Bahamut (+ Unreal?)",
  3353.     "conflict" => "yes",
  3354. ];
  3355.  
  3356. $irc2numerics[] = [
  3357.     "name"     => "RPL_RULESSTART",
  3358.     "numeric"  => "620",
  3359.     "origin"   => "Ultimate",
  3360.     "conflict" => "yes",
  3361. ];
  3362.  
  3363. $irc2numerics[] = [
  3364.     "name"     => "RPL_RULES",
  3365.     "numeric"  => "621",
  3366.     "origin"   => "Ultimate",
  3367.     "conflict" => "yes",
  3368. ];
  3369.  
  3370. $irc2numerics[] = [
  3371.     "name"     => "RPL_ENDOFRULES",
  3372.     "numeric"  => "622",
  3373.     "origin"   => "Ultimate",
  3374.     "conflict" => "yes",
  3375. ];
  3376.  
  3377. $irc2numerics[] = [
  3378.     "name"     => "RPL_MAPMORE",
  3379.     "numeric"  => "623",
  3380.     "origin"   => "Ultimate",
  3381.     "conflict" => "yes",
  3382. ];
  3383.  
  3384. $irc2numerics[] = [
  3385.     "name"    => "RPL_OMOTDSTART",
  3386.     "numeric" => "624",
  3387.     "origin"  => "Ultimate",
  3388. ];
  3389.  
  3390. $irc2numerics[] = [
  3391.     "name"    => "RPL_OMOTD",
  3392.     "numeric" => "625",
  3393.     "origin"  => "Ultimate",
  3394. ];
  3395.  
  3396. $irc2numerics[] = [
  3397.     "name"    => "RPL_ENDOFO<MOTD",
  3398.     "numeric" => "626",
  3399.     "origin"  => "Ultimate",
  3400. ];
  3401.  
  3402. $irc2numerics[] = [
  3403.     "name"    => "RPL_SETTINGS",
  3404.     "numeric" => "630",
  3405.     "origin"  => "Ultimate",
  3406. ];
  3407.  
  3408. $irc2numerics[] = [
  3409.     "name"    => "RPL_ENDOFSETTINGS",
  3410.     "numeric" => "631",
  3411.     "origin"  => "Ultimate",
  3412. ];
  3413.  
  3414. $irc2numerics[] = [
  3415.     "name"     => "RPL_DUMPING",
  3416.     "numeric"  => "640",
  3417.     "origin"   => "Unreal",
  3418.     "comment"  => "Never actually used by Unreal - was defined however the "
  3419.         . "feature that would have used this numeric was never "
  3420.         . "created.",
  3421.     "obsolete" => "yes",
  3422. ];
  3423.  
  3424. $irc2numerics[] = [
  3425.     "name"     => "RPL_DUMPRPL",
  3426.     "numeric"  => "641",
  3427.     "origin"   => "Unreal",
  3428.     "comment"  => "Never actually used by Unreal - was defined however the "
  3429.         . "feature that would have used this numeric was never "
  3430.         . "created.",
  3431.     "obsolete" => "yes",
  3432. ];
  3433.  
  3434. $irc2numerics[] = [
  3435.     "name"     => "RPL_EODUMP",
  3436.     "numeric"  => "642",
  3437.     "origin"   => "Unreal",
  3438.     "comment"  => "Never actually used by Unreal - was defined however the "
  3439.         . "feature that would have used this numeric was never "
  3440.         . "created.",
  3441.     "obsolete" => "yes",
  3442. ];
  3443.  
  3444. $irc2numerics[] = [
  3445.     "name"    => "RPL_TRACEROUTE_HOP",
  3446.     "numeric" => "660",
  3447.     "origin"  => "KineIRCd",
  3448.     "contact" => "[email protected]",
  3449.     "format"  => "<target> <hop#> [<address> [<hostname> | '*'] <usec_ping>]",
  3450.     "comment" => "Returned from the TRACEROUTE IRC-Op command when "
  3451.         . "tracerouting a host",
  3452. ];
  3453.  
  3454. $irc2numerics[] = [
  3455.     "name"    => "RPL_TRACEROUTE_START",
  3456.     "numeric" => "661",
  3457.     "origin"  => "KineIRCd",
  3458.     "contact" => "[email protected]",
  3459.     "format"  => "<target> <target_FQDN> <target_address> <max_hops>",
  3460.     "comment" => "Start of an RPL_TRACEROUTE_HOP list",
  3461. ];
  3462.  
  3463. $irc2numerics[] = [
  3464.     "name"    => "RPL_MODECHANGEWARN",
  3465.     "numeric" => "662",
  3466.     "origin"  => "KineIRCd",
  3467.     "contact" => "[email protected]",
  3468.     "format"  => "['+' | '-']<mode_char> :<warning>",
  3469.     "comment" => "Plain text warning to the user about turning on or off a "
  3470.         . "user mode. If no '+' or '-' prefix is used for the mode "
  3471.         . "char, '+' is presumed.",
  3472. ];
  3473.  
  3474. $irc2numerics[] = [
  3475.     "name"    => "RPL_CHANREDIR",
  3476.     "numeric" => "663",
  3477.     "origin"  => "KineIRCd",
  3478.     "contact" => "[email protected]",
  3479.     "format"  => "<old_chan> <new_chan> :<info>",
  3480.     "comment" => "Used to notify the client upon JOIN that they are joining "
  3481.         . "a different channel than expected because the IRC Daemon "
  3482.         . "has been set up to map the channel they attempted to "
  3483.         . "join to the channel they eventually will join.",
  3484. ];
  3485.  
  3486. $irc2numerics[] = [
  3487.     "name"    => "RPL_SERVMODEIS",
  3488.     "numeric" => "664",
  3489.     "origin"  => "KineIRCd",
  3490.     "contact" => "[email protected]",
  3491.     "format"  => "<server> <modes> <parameters>..",
  3492.     "comment" => "Reply to MODE <servername>. KineIRCd supports server "
  3493.         . "modes to simplify configuration of servers; Similar to RPL_CHANNELMODEIS",
  3494. ];
  3495.  
  3496. $irc2numerics[] = [
  3497.     "name"    => "RPL_OTHERUMODEIS",
  3498.     "numeric" => "665",
  3499.     "origin"  => "KineIRCd",
  3500.     "contact" => "[email protected]",
  3501.     "format"  => "<nickname> <modes>",
  3502.     "comment" => "Reply to MODE <nickname> to return the user-modes of "
  3503.         . "another user to help troubleshoot connections, etc. "
  3504.         . "Similar to RPL_UMODEIS, however including the target",
  3505. ];
  3506.  
  3507. $irc2numerics[] = [
  3508.     "name"    => "RPL_ENDOF_GENERIC",
  3509.     "numeric" => "666",
  3510.     "origin"  => "KineIRCd",
  3511.     "contact" => "[email protected]",
  3512.     "format"  => "<command> [<parameter> ...] :<info>",
  3513.     "comment" => "Generic response for new lists to save numerics.",
  3514. ];
  3515.  
  3516. $irc2numerics[] = [
  3517.     "name"    => "RPL_WHOWASDETAILS",
  3518.     "numeric" => "670",
  3519.     "origin"  => "KineIRCd",
  3520.     "contact" => "[email protected]",
  3521.     "format"  => "<nick> <type> :<information>",
  3522.     "comment" => "Returned by WHOWAS to return extended information (if "
  3523.         . "available). The type field is a number indication what "
  3524.         . "kind of information.",
  3525. ];
  3526.  
  3527. $irc2numerics[] = [
  3528.     "name"    => "RPL_WHOISSECURE",
  3529.     "numeric" => "671",
  3530.     "origin"  => "KineIRCd",
  3531.     "contact" => "[email protected]",
  3532.     "format"  => "<nick> <type> [:<info>]",
  3533.     "comment" => "Reply to WHOIS command - Returned if the target is "
  3534.         . "connected securely, eg. type may be TLSv1, or SSLv2 etc. "
  3535.         . "If the type is unknown, a '*' may be used.",
  3536. ];
  3537.  
  3538. $irc2numerics[] = [
  3539.     "name"    => "RPL_UNKNOWNMODES",
  3540.     "numeric" => "672",
  3541.     "origin"  => "Ithildin",
  3542.     "contact" => "[email protected]",
  3543.     "format"  => "<modes> :<info>",
  3544.     "comment" => "Returns a full list of modes that are unknown when a "
  3545.         . "client issues a MODE command (rather than one numeric per "
  3546.         . "mode)",
  3547. ];
  3548.  
  3549. $irc2numerics[] = [
  3550.     "name"    => "RPL_CANNOTSETMODES",
  3551.     "numeric" => "673",
  3552.     "origin"  => "Ithildin",
  3553.     "contact" => "[email protected]",
  3554.     "format"  => "<modes> :<info>",
  3555.     "comment" => "Returns a full list of modes that cannot be set when a "
  3556.         . "client issues a MODE command",
  3557. ];
  3558.  
  3559. $irc2numerics[] = [
  3560.     "name"    => "RPL_LUSERSTAFF",
  3561.     "numeric" => "678",
  3562.     "origin"  => "KineIRCd",
  3563.     "contact" => "[email protected]",
  3564.     "format"  => "<staff_online_count> :<info>",
  3565.     "comment" => "Reply to LUSERS command - Number of network staff (or "
  3566.         . "'helpers') online (differs from Local/Global operators). "
  3567.         . "Similar format to RPL_LUSEROP",
  3568. ];
  3569.  
  3570. $irc2numerics[] = [
  3571.     "name"    => "RPL_TIMEONSERVERIS",
  3572.     "numeric" => "679",
  3573.     "origin"  => "KineIRCd",
  3574.     "contact" => "[email protected]",
  3575.     "format"  => "<seconds> [<nanoseconds> | '0'] <timezone> <flags> :<info>",
  3576.     "comment" => "Optionally sent upon connection, and/or sent as a reply to "
  3577.         . "the TIME command. This returns the time on the server in "
  3578.         . "a uniform manner. The seconds (and optionally nanoseconds) "
  3579.         . "is the time since the UNIX Epoch, and is used since many "
  3580.         . "existing timestamps in the IRC-2 protocol are done this "
  3581.         . "way (i.e. ban lists). The timezone is hours and minutes "
  3582.         . "each of Greenwich ('[+/-]HHMM'). Since all timestamps sent "
  3583.         . "from the server are in a similar format, this numeric is "
  3584.         . "designed to give clients the ability to provide accurate "
  3585.         . "timestamps to their users.",
  3586. ];
  3587.  
  3588. $irc2numerics[] = [
  3589.     "name"        => "RPL_NETWORKS",
  3590.     "numeric"     => "682",
  3591.     "origin"      => "KineIRCd",
  3592.     "contact"     => "[email protected]",
  3593.     "information" => "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/kineircd/kineircd/doc/IIRC?rev=HEAD",
  3594.     "format"      => "<name> <through_name> <hops> :<info>",
  3595.     "comment"     => "A reply to the NETWORKS command when requesting a list of "
  3596.         . "known networks (within the IIRC domain).",
  3597. ];
  3598.  
  3599. $irc2numerics[] = [
  3600.     "name"        => "RPL_YOURLANGUAGEIS",
  3601.     "numeric"     => "687",
  3602.     "origin"      => "KineIRCd",
  3603.     "contact"     => "[email protected]",
  3604.     "information" => "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/kineircd/kineircd/doc/LANGUAGE?rev=HEAD",
  3605.     "format"      => "<code(s)> :<info>",
  3606.     "comment"     => "Reply to the LANGUAGE command, informing the client of "
  3607.         . "the language(s) it has set",
  3608. ];
  3609.  
  3610. $irc2numerics[] = [
  3611.     "name"        => "RPL_LANGUAGE",
  3612.     "numeric"     => "688",
  3613.     "origin"      => "KineIRCd",
  3614.     "contact"     => "[email protected]",
  3615.     "information" => "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/kineircd/kineircd/doc/LANGUAGE?rev=HEAD",
  3616.     "format"      => "<code> <revision> <maintainer> <flags> * :<info>",
  3617.     "comment"     => "A language reply to LANGUAGE when requesting a list of "
  3618.         . "known languages",
  3619. ];
  3620.  
  3621. $irc2numerics[] = [
  3622.     "name"    => "RPL_WHOISSTAFF",
  3623.     "numeric" => "689",
  3624.     "origin"  => "KineIRCd",
  3625.     "contact" => "[email protected]",
  3626.     "format"  => ":<info>",
  3627.     "comment" => "The user is a staff member. The information may explain "
  3628.         . "the user's job role, or simply state that they are a part "
  3629.         . "of the network staff. Staff members are not IRC operators, "
  3630.         . "but rather people who have special access in association "
  3631.         . "with network services. KineIRCd uses this numeric instead "
  3632.         . "of the existing numerics due to the overwhelming number of "
  3633.         . "conflicts.",
  3634. ];
  3635.  
  3636. $irc2numerics[] = [
  3637.     "name"        => "RPL_WHOISLANGUAGE",
  3638.     "numeric"     => "690",
  3639.     "origin"      => "KineIRCd",
  3640.     "contact"     => "[email protected]",
  3641.     "information" => "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/kineircd/kineircd/doc/LANGUAGE?rev=HEAD",
  3642.     "format"      => "<nick> <language codes>",
  3643.     "comment"     => "Reply to WHOIS command - A list of languages someone can "
  3644.         . "speak. The language codes are comma delimitered.",
  3645. ];
  3646.  
  3647.  
  3648. $irc2numerics[] = [
  3649.     "name"    => "RPL_MODLIST",
  3650.     "numeric" => "702",
  3651.     "origin"  => "RatBox",
  3652.     "format"  => "<?> 0x<?> <?> <?>",
  3653.     "comment" => "Output from the MODLIST command",
  3654. ];
  3655.  
  3656. $irc2numerics[] = [
  3657.     "name"    => "RPL_ENDOFMODLIST",
  3658.     "numeric" => "703",
  3659.     "origin"  => "RatBox",
  3660.     "format"  => ":<text>",
  3661.     "comment" => "Terminates MODLIST output",
  3662. ];
  3663.  
  3664. $irc2numerics[] = [
  3665.     "name"    => "RPL_HELPSTART",
  3666.     "numeric" => "704",
  3667.     "origin"  => "RatBox",
  3668.     "format"  => "<command> :<text>",
  3669.     "comment" => "Start of HELP command output",
  3670. ];
  3671.  
  3672. $irc2numerics[] = [
  3673.     "name"    => "RPL_HELPTXT",
  3674.     "numeric" => "705",
  3675.     "origin"  => "RatBox",
  3676.     "format"  => "<command> :<text>",
  3677.     "comment" => "Output from HELP command",
  3678. ];
  3679.  
  3680. $irc2numerics[] = [
  3681.     "name"    => "RPL_ENDOFHELP",
  3682.     "numeric" => "706",
  3683.     "origin"  => "RatBox",
  3684.     "format"  => "<command> :<text>",
  3685.     "comment" => "End of HELP command output",
  3686. ];
  3687.  
  3688. $irc2numerics[] = [
  3689.     "name"    => "RPL_ETRACEFULL",
  3690.     "numeric" => "708",
  3691.     "origin"  => "RatBox",
  3692.     "format"  => "<?> <?> <?> <?> <?> <?> <?> :<?>",
  3693.     "comment" => "Output from 'extended' trace",
  3694. ];
  3695.  
  3696. $irc2numerics[] = [
  3697.     "name"    => "RPL_ETRACE",
  3698.     "numeric" => "709",
  3699.     "origin"  => "RatBox",
  3700.     "format"  => "<?> <?> <?> <?> <?> <?> :<?>",
  3701.    "comment" => "Output from 'extended' trace",
  3702. ];
  3703.  
  3704. $irc2numerics[] = [
  3705.    "name"    => "RPL_KNOCK",
  3706.    "numeric" => "710",
  3707.    "origin"  => "RatBox",
  3708.    "format"  => "<channel> <nick>!<user>@<host> :<text>",
  3709.    "comment" => "Message delivered using KNOCK command",
  3710. ];
  3711.  
  3712. $irc2numerics[] = [
  3713.    "name"    => "RPL_KNOCKDLVR",
  3714.    "numeric" => "711",
  3715.    "origin"  => "RatBox",
  3716.    "format"  => "<channel> :<text>",
  3717.    "comment" => "Message returned from using KNOCK command",
  3718. ];
  3719.  
  3720. $irc2numerics[] = [
  3721.    "name"    => "ERR_TOOMANYKNOCK",
  3722.    "numeric" => "712",
  3723.    "origin"  => "RatBox",
  3724.    "format"  => "<channel> :<text>",
  3725.    "comment" => "Message returned when too many KNOCKs for a channel have "
  3726.        . "been sent by a user",
  3727. ];
  3728.  
  3729. $irc2numerics[] = [
  3730.    "name"    => "ERR_CHANOPEN",
  3731.    "numeric" => "713",
  3732.    "origin"  => "RatBox",
  3733.    "format"  => "<channel> :<text>",
  3734.    "comment" => "Message returned from KNOCK when the channel can be freely "
  3735.        . "joined by the user",
  3736. ];
  3737.  
  3738. $irc2numerics[] = [
  3739.    "name"    => "ERR_KNOCKONCHAN",
  3740.    "numeric" => "714",
  3741.    "origin"  => "RatBox",
  3742.    "format"  => "<channel> :<text>",
  3743.    "comment" => "Message returned from KNOCK when the user has used KNOCK "
  3744.        . "on a channel they have already joined",
  3745. ];
  3746.  
  3747. $irc2numerics[] = [
  3748.    "name"    => "ERR_KNOCKDISABLED",
  3749.    "numeric" => "715",
  3750.    "origin"  => "RatBox",
  3751.    "format"  => ":<text>",
  3752.    "comment" => "Returned from KNOCK when the command has been disabled",
  3753. ];
  3754.  
  3755. $irc2numerics[] = [
  3756.    "name"    => "RPL_TARGUMODEG",
  3757.    "numeric" => "716",
  3758.    "origin"  => "RatBox",
  3759.    "format"  => "<nick> :<info>",
  3760.    "comment" => "Sent to indicate the given target is set +g (server-side "
  3761.        . "ignore)",
  3762. ];
  3763.  
  3764. $irc2numerics[] = [
  3765.    "name"    => "RPL_TARGNOTIFY",
  3766.    "numeric" => "717",
  3767.    "origin"  => "RatBox",
  3768.    "format"  => "<nick> :<info>",
  3769.    "comment" => "Sent following a PRIVMSG/NOTICE to indicate the target "
  3770.        . "has been notified of an attempt to talk to them while "
  3771.        . "they are set +g",
  3772. ];
  3773.  
  3774. $irc2numerics[] = [
  3775.    "name"    => "RPL_UMODEGMSG",
  3776.    "numeric" => "718",
  3777.    "origin"  => "RatBox",
  3778.    "format"  => "<nick> <user>@<host> :<info>",
  3779.    "comment" => "Sent to a user who is +g to inform them that someone has "
  3780.        . "attempted to talk to them (via PRIVMSG/NOTICE), and that "
  3781.        . "they will need to be accepted (via the ACCEPT command) "
  3782.        . "before being able to talk to them",
  3783. ];
  3784.  
  3785. $irc2numerics[] = [
  3786.    "name"    => "RPL_OMOTDSTART",
  3787.    "numeric" => "720",
  3788.    "origin"  => "RatBox",
  3789.    "format"  => ":<text>",
  3790.    "comment" => "IRC Operator MOTD header, sent upon OPER command",
  3791. ];
  3792.  
  3793. $irc2numerics[] = [
  3794.    "name"    => "RPL_OMOTD",
  3795.    "numeric" => "721",
  3796.    "origin"  => "RatBox",
  3797.    "format"  => ":<text>",
  3798.    "comment" => "IRC Operator MOTD text (repeated, usually)",
  3799. ];
  3800.  
  3801. $irc2numerics[] = [
  3802.    "name"    => "RPL_ENDOFOMOTD",
  3803.    "numeric" => "722",
  3804.    "origin"  => "RatBox",
  3805.    "format"  => ":<text>",
  3806.    "comment" => "IRC operator MOTD footer",
  3807. ];
  3808.  
  3809. $irc2numerics[] = [
  3810.    "name"    => "ERR_NOPRIVS",
  3811.    "numeric" => "723",
  3812.    "origin"  => "RatBox",
  3813.    "format"  => "<command> :<text>",
  3814.    "comment" => "Returned from an oper command when the IRC operator "
  3815.        . "does not have the relevant operator privileges.",
  3816. ];
  3817.  
  3818. $irc2numerics[] = [
  3819.    "name"    => "RPL_TESTMARK",
  3820.    "numeric" => "724",
  3821.    "origin"  => "RatBox",
  3822.    "format"  => "<nick>!<user>@<host> <?> <?> :<text>",
  3823.    "comment" => "Reply from an oper command reporting how many users "
  3824.        . "match a given user@host mask",
  3825. ];
  3826.  
  3827. $irc2numerics[] = [
  3828.    "name"    => "RPL_TESTLINE",
  3829.    "numeric" => "725",
  3830.    "origin"  => "RatBox",
  3831.    "format"  => "<?> <?> <?> :<?>",
  3832.    "comment" => "Reply from an oper command reporting relevant I/K lines "
  3833.        . "that will match a given user@host",
  3834. ];
  3835.  
  3836. $irc2numerics[] = [
  3837.    "name"    => "RPL_NOTESTLINE",
  3838.    "numeric" => "726",
  3839.    "origin"  => "RatBox",
  3840.    "format"  => "<?> :<text>",
  3841.     "comment" => "Reply from oper command reporting no I/K lines match "
  3842.         . "the given user@host",
  3843. ];
  3844.  
  3845. $irc2numerics[] = [
  3846.     "name"    => "RPL_CHALLENGE_TEXT",
  3847.     "numeric" => "740",
  3848.     "origin"  => "RatBox",
  3849.     "comment" => "Displays CHALLENGE text",
  3850. ];
  3851.  
  3852. $irc2numerics[] = [
  3853.     "name"    => "RPL_CHALLENGE_END",
  3854.     "numeric" => "741",
  3855.     "origin"  => "RatBox",
  3856.     "comment" => "End of CHALLENGE numeric",
  3857. ];
  3858.  
  3859. $irc2numerics[] = [
  3860.     "name"    => "RPL_XINFO",
  3861.     "numeric" => "771",
  3862.     "origin"  => "Ithildin",
  3863.     "contact" => "[email protected]",
  3864.     "comment" => "Used to send 'eXtended info' to the client, a "
  3865.         . "replacement for the STATS command to send a large "
  3866.         . "variety of data and minimise numeric pollution.",
  3867. ];
  3868.  
  3869. $irc2numerics[] = [
  3870.     "name"    => "RPL_XINFOSTART",
  3871.     "numeric" => "773",
  3872.     "origin"  => "Ithildin",
  3873.     "contact" => "[email protected]",
  3874.     "comment" => "Start of an RPL_XINFO list",
  3875. ];
  3876.  
  3877. $irc2numerics[] = [
  3878.     "name"    => "RPL_XINFOEND",
  3879.     "numeric" => "774",
  3880.     "origin"  => "Ithildin",
  3881.     "contact" => "[email protected]",
  3882.     "comment" => "Termination of an RPL_XINFO list",
  3883. ];
  3884.  
  3885.  
  3886. $irc2numerics[] = "900-999, errors (usually)";
  3887.  
  3888. $irc2numerics[] = [
  3889.     "name"    => "RPL_SASL",
  3890.     "numeric" => "903",
  3891.     "origin"  => "charybdis",
  3892.     "comment" => "Authentication via SASL successful.",
  3893. ];
  3894.  
  3895. $irc2numerics[] = [
  3896.     "name"    => "ERR_SASL",
  3897.     "numeric" => "904",
  3898.     "origin"  => "charybdis",
  3899.     "comment" => "Authentication via SASL unsuccessful.",
  3900. ];
  3901.  
  3902. $irc2numerics[] = [
  3903.     "name"    => "ERR_CANNOTDOCOMMAND",
  3904.     "numeric" => "972",
  3905.     "origin"  => "Unreal",
  3906.     "comment" => "Works similarly to all of KineIRCd's CANNOT* numerics. "
  3907.         . "This one indicates that a command could not be performed "
  3908.         . "for an arbitrary reason. For example, a halfop trying to "
  3909.         . "kick an op.",
  3910. ];
  3911.  
  3912. $irc2numerics[] = [
  3913.     "name"    => "ERR_CANNOTCHANGEUMODE",
  3914.     "numeric" => "973",
  3915.     "origin"  => "KineIRCd",
  3916.     "contact" => "[email protected]",
  3917.     "format"  => "<mode_char> :<reason>",
  3918.     "comment" => "Reply to MODE when a user cannot change a user mode",
  3919. ];
  3920.  
  3921. $irc2numerics[] = [
  3922.     "name"    => "ERR_CANNOTCHANGECHANMODE",
  3923.     "numeric" => "974",
  3924.     "origin"  => "KineIRCd (+ Unreal?)",
  3925.     "contact" => "[email protected]",
  3926.     "format"  => "<mode_char> :<reason>",
  3927.     "comment" => "Reply to MODE when a user cannot change a channel mode",
  3928. ];
  3929.  
  3930. $irc2numerics[] = [
  3931.     "name"    => "ERR_CANNOTCHANGESERVERMODE",
  3932.     "numeric" => "975",
  3933.     "origin"  => "KineIRCd",
  3934.     "contact" => "[email protected]",
  3935.     "format"  => "<mode_char> :<reason>",
  3936.     "comment" => "Reply to MODE when a user cannot change a server mode",
  3937. ];
  3938.  
  3939. $irc2numerics[] = [
  3940.     "name"    => "ERR_CANNOTSENDTONICK",
  3941.     "numeric" => "976",
  3942.     "origin"  => "KineIRCd",
  3943.     "contact" => "[email protected]",
  3944.     "format"  => "<nick> :<reason>",
  3945.     "comment" => "Returned from NOTICE, PRIVMSG or other commands to notify "
  3946.         . "the user that they cannot send a message to a particular "
  3947.         . "client. Similar to ERR_CANNOTSENDTOCHAN. KineIRCd uses "
  3948.         . "this in conjunction with user-mode +R to allow users to "
  3949.         . "block people who are not identified to services (spam "
  3950.         . "avoidance)",
  3951. ];
  3952.  
  3953. $irc2numerics[] = [
  3954.     "name"    => "ERR_UNKNOWNSERVERMODE",
  3955.     "numeric" => "977",
  3956.     "origin"  => "KineIRCd",
  3957.     "contact" => "[email protected]",
  3958.     "format"  => "<modechar> :<info>",
  3959.     "comment" => "Returned by MODE to inform the client they used an "
  3960.         . "unknown server mode character.",
  3961. ];
  3962.  
  3963. $irc2numerics[] = [
  3964.     "name"    => "ERR_SERVERMODELOCK",
  3965.     "numeric" => "979",
  3966.     "origin"  => "KineIRCd",
  3967.     "contact" => "[email protected]",
  3968.     "format"  => "<target> :<info>",
  3969.     "comment" => "Returned by MODE to inform the client the server has "
  3970.         . "been set mode +L by an administrator to stop server "
  3971.         . "modes being changed",
  3972. ];
  3973.  
  3974. $irc2numerics[] = [
  3975.     "name"    => "ERR_BADCHARENCODING",
  3976.     "numeric" => "980",
  3977.     "origin"  => "KineIRCd",
  3978.     "contact" => "[email protected]",
  3979.     "format"  => "<command> <charset> :<info>",
  3980.     "comment" => "Returned by any command which may have had the given data "
  3981.         . "modified because one or more glyphs were incorrectly "
  3982.         . "encoded in the current charset (given). Such a use would "
  3983.         . "be where an invalid UTF-8 sequence was given which may be "
  3984.         . "considered insecure, or defines a character which is "
  3985.         . "invalid within that context. For safety reasons, the "
  3986.         . "invalid character is not returned to the client.",
  3987. ];
  3988.  
  3989. $irc2numerics[] = [
  3990.     "name"        => "ERR_TOOMANYLANGUAGES",
  3991.     "numeric"     => "981",
  3992.     "origin"      => "KineIRCd",
  3993.     "contact"     => "[email protected]",
  3994.     "information" => "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/kineircd/kineircd/doc/LANGUAGE?rev=HEAD",
  3995.     "format"      => "<max_langs> :<info>",
  3996.     "comment"     => "Returned by the LANGUAGE command to tell the client they "
  3997.         . "cannot set as many languages as they have requested. "
  3998.         . "To assist the client, the maximum languages which can be "
  3999.         . "set at one time is given, and the language settings are "
  4000.         . "not changed.",
  4001. ];
  4002.  
  4003. $irc2numerics[] = [
  4004.     "name"        => "ERR_NOLANGUAGE",
  4005.     "numeric"     => "982",
  4006.     "origin"      => "KineIRCd",
  4007.     "contact"     => "[email protected]",
  4008.     "information" => "http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/kineircd/kineircd/doc/LANGUAGE?rev=HEAD",
  4009.     "format"      => "<language_code> :<info>",
  4010.     "comment"     => "Returned by the LANGUAGE command to tell the client it "
  4011.         . "has specified an unknown language code.",
  4012. ];
  4013.  
  4014. $irc2numerics[] = [
  4015.     "name"    => "ERR_TEXTTOOSHORT",
  4016.     "numeric" => "983",
  4017.     "origin"  => "KineIRCd",
  4018.     "contact" => "[email protected]",
  4019.     "format"  => "<command> :<info>",
  4020.     "comment" => "Returned by any command requiring text (such as a message "
  4021.         . "or a reason), which was not long enough to be considered "
  4022.         . "valid. This was created initially to combat '/wallops foo' "
  4023.         . "abuse, but is also used by DIE and RESTART commands to "
  4024.         . "attempt to encourage meaningful reasons.",
  4025. ];
  4026.  
  4027. $irc2numerics[] = [
  4028.     "name"    => "ERR_NUMERIC_ERR",
  4029.     "numeric" => "999",
  4030.     "origin"  => "Bahamut",
  4031.     "comment" => "Also known as ERR_NUMERICERR (Unreal)",
  4032. ];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement