Advertisement
nezzario

IRC Numeric Commands as a PHP Array

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