--- !ruby/object:RI::ClassDescription 
attributes: []

class_methods: 
- !ruby/object:RI::MethodSummary 
  name: color
- !ruby/object:RI::MethodSummary 
  name: find_color
comment: 
- !ruby/struct:SM::Flow::P 
  body: This would be a good idea if it was failproof, but the truth is that other methods can indirectly modify the hash. <b>sigh</b>
- !ruby/struct:SM::Flow::P 
  body: class AuthNotifyingHash &lt; Hash
- !ruby/struct:SM::Flow::VERB 
  body: "  %w(clear default= delete delete_if replace invert\n     merge! update rehash reject! replace shift []= store).each { |m|\n    class_eval {\n      define_method(m) { |*a|\n        r = super(*a)\n        Irc::Bot::Auth.manager.set_changed\n        r\n      }\n    }\n  }\n"
- !ruby/struct:SM::Flow::P 
  body: end
constants: 
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;Welcome to the Internet Relay Network &lt;nick&gt;!&lt;user&gt;@&lt;host&gt;&quot;"
  name: RPL_WELCOME
  value: "001"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;Your host is &lt;servername&gt;, running version &lt;ver&gt;&quot;"
  name: RPL_YOURHOST
  value: "002"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;This server was created &lt;date&gt;&quot;"
  name: RPL_CREATED
  value: "003"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;servername&gt; &lt;version&gt; &lt;available user modes&gt; &lt;available channel modes&gt;&quot;"
  name: RPL_MYINFO
  value: "004"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;005 nick PREFIX=(ov)@+ CHANTYPES=#&amp; :are supported by this server&quot;"
  - !ruby/struct:SM::Flow::P 
    body: defines the capabilities supported by the server.
  - !ruby/struct:SM::Flow::P 
    body: "Previous RFCs defined message 005 as follows:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Sent by the server to a user to suggest an alternative server. This is often used when the connection is refused because the server is already full.
    type: :BULLET
  - !ruby/struct:SM::Flow::P 
    body: "# &quot;Try server &lt;server name&gt;, port &lt;port number&gt;&quot;"
  - !ruby/struct:SM::Flow::P 
    body: RPL_BOUNCE=005
  name: RPL_ISUPPORT
  value: "005"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:*1&lt;reply&gt; *( &quot; &quot; &lt;reply&gt; )&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: "Reply format used by USERHOST to list replies to the query list. The reply string is composed as follows:"
    type: :BULLET
  - !ruby/struct:SM::Flow::P 
    body: reply = nickname [ &quot;*&quot; ] &quot;=&quot; ( &quot;+&quot; / &quot;-&quot; ) hostname
  - !ruby/struct:SM::Flow::P 
    body: The '*' indicates whether the client has registered as an Operator. The '-' or '+' characters represent whether the client has set an AWAY message or not respectively.
  name: RPL_USERHOST
  value: "302"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:*1&lt;nick&gt; *( &quot; &quot; &lt;nick&gt; )&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Reply format used by ISON to list replies to the query list.
    type: :BULLET
  name: RPL_ISON
  value: "303"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; :&lt;away message&gt;&quot;"
  name: RPL_AWAY
  value: "301"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:You are no longer marked as being away&quot;"
  name: RPL_UNAWAY
  value: "305"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:You have been marked as being away&quot;"
  name: RPL_NOWAWAY
  value: "306"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; &lt;user&gt; &lt;host&gt; * :&lt;real name&gt;&quot;"
  name: RPL_WHOISUSER
  value: "311"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; &lt;server&gt; :&lt;server info&gt;&quot;"
  name: RPL_WHOISSERVER
  value: "312"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; :is an IRC operator&quot;"
  name: RPL_WHOISOPERATOR
  value: "313"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; &lt;integer&gt; :seconds idle&quot;"
  name: RPL_WHOISIDLE
  value: "317"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; :End of WHOIS list&quot;"
  name: RPL_ENDOFWHOIS
  value: "318"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; :*( ( &quot;@&quot; / &quot;+&quot; ) &lt;channel&gt; &quot; &quot; )&quot;"
  name: RPL_WHOISCHANNELS
  value: "319"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; &lt;user&gt; &lt;host&gt; * :&lt;real name&gt;&quot;"
  name: RPL_WHOWASUSER
  value: "314"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; :End of WHOWAS&quot;"
  name: RPL_ENDOFWHOWAS
  value: "369"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Obsolete. Not used.
  name: RPL_LISTSTART
  value: "321"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;# visible&gt; :&lt;topic&gt;&quot;"
  name: RPL_LIST
  value: "322"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:End of LIST&quot;"
  name: RPL_LISTEND
  value: "323"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;nickname&gt;&quot;"
  name: RPL_UNIQOPIS
  value: "325"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;mode&gt; &lt;mode params&gt;&quot;"
  name: RPL_CHANNELMODEIS
  value: "324"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;unixtime&gt;&quot;"
  name: RPL_CREATIONTIME
  value: "329"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;url&gt;&quot;"
  name: RPL_CHANNEL_URL
  value: "328"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :No topic is set&quot;"
  name: RPL_NOTOPIC
  value: "331"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :&lt;topic&gt;&quot;"
  name: RPL_TOPIC
  value: "332"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&lt;channel&gt; &lt;set by&gt; &lt;unixtime&gt;"
  name: RPL_TOPIC_INFO
  value: "333"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;nick&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by the server to indicate that the attempted INVITE message was successful and is being passed onto the end client.
    type: :BULLET
  name: RPL_INVITING
  value: "341"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;user&gt; :Summoning user to IRC&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by a server answering a SUMMON message to indicate that it is summoning that user.
    type: :BULLET
  name: RPL_SUMMONING
  value: "342"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;invitemask&gt;&quot;"
  name: RPL_INVITELIST
  value: "346"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :End of channel invite list&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: When listing the 'invitations masks' for a given channel, a server is required to send the list back using the RPL_INVITELIST and RPL_ENDOFINVITELIST messages. A separate RPL_INVITELIST is sent for each active mask. After the masks have been listed (or if none present) a RPL_ENDOFINVITELIST MUST be sent.
    type: :BULLET
  name: RPL_ENDOFINVITELIST
  value: "347"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;exceptionmask&gt;&quot;"
  name: RPL_EXCEPTLIST
  value: "348"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :End of channel exception list&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: When listing the 'exception masks' for a given channel, a server is required to send the list back using the RPL_EXCEPTLIST and RPL_ENDOFEXCEPTLIST messages. A separate RPL_EXCEPTLIST is sent for each active mask. After the masks have been listed (or if none present) a RPL_ENDOFEXCEPTLIST MUST be sent.
    type: :BULLET
  name: RPL_ENDOFEXCEPTLIST
  value: "349"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;version&gt;.&lt;debuglevel&gt; &lt;server&gt; :&lt;comments&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Reply by the server showing its version details.
    type: :BULLET
  - !ruby/struct:SM::Flow::P 
    body: The &lt;version&gt; is the version of the software being used (including any patchlevel revisions) and the &lt;debuglevel&gt; is used to indicate if the server is running in &quot;debug mode&quot;.
  - !ruby/struct:SM::Flow::P 
    body: The &quot;comments&quot; field may contain any comments about the version or further version details.
  name: RPL_VERSION
  value: "351"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;user&gt; &lt;host&gt; &lt;server&gt; &lt;nick&gt; ( &quot;H&quot; / &quot;G&quot; &gt; [&quot;*&quot;] [ ( &quot;@&quot; / &quot;+&quot; ) ] :&lt;hopcount&gt; &lt;real name&gt;&quot;"
  name: RPL_WHOREPLY
  value: "352"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;name&gt; :End of WHO list&quot;"
  name: RPL_ENDOFWHO
  value: "315"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;( &quot;=&quot; / &quot;*&quot; / &quot;@&quot; ) &lt;channel&gt; :[ &quot;@&quot; / &quot;+&quot; ] &lt;nick&gt; *( &quot; &quot; [ &quot;@&quot; / &quot;+&quot; ] &lt;nick&gt; )"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: "&quot;@&quot; is used for secret channels, &quot;*&quot; for private"
    type: :BULLET
  - !ruby/struct:SM::Flow::P 
    body: channels, and &quot;=&quot; for others (public channels).
  name: RPL_NAMREPLY
  value: "353"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :End of NAMES list&quot;"
  name: RPL_ENDOFNAMES
  value: "366"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;mask&gt; &lt;server&gt; :&lt;hopcount&gt; &lt;server info&gt;&quot;"
  name: RPL_LINKS
  value: "364"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;mask&gt; :End of LINKS list&quot;"
  name: RPL_ENDOFLINKS
  value: "365"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;banmask&gt;&quot;"
  name: RPL_BANLIST
  value: "367"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :End of channel ban list&quot;"
  name: RPL_ENDOFBANLIST
  value: "368"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:&lt;string&gt;&quot;"
  name: RPL_INFO
  value: "371"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:End of INFO list&quot;"
  name: RPL_ENDOFINFO
  value: "374"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:- &lt;server&gt; Message of the day - &quot;"
  name: RPL_MOTDSTART
  value: "375"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:- &lt;text&gt;&quot;"
  name: RPL_MOTD
  value: "372"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:End of MOTD command&quot;"
  name: RPL_ENDOFMOTD
  value: "376"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:You are now an IRC operator&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: RPL_YOUREOPER is sent back to a client which has just successfully issued an OPER message and gained operator status.
    type: :BULLET
  name: RPL_YOUREOPER
  value: "381"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;config file&gt; :Rehashing&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: If the REHASH option is used and an operator sends a REHASH message, an RPL_REHASHING is sent back to the operator.
    type: :BULLET
  name: RPL_REHASHING
  value: "382"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;You are service &lt;servicename&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Sent by the server to a service upon successful registration.
    type: :BULLET
  name: RPL_YOURESERVICE
  value: "383"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;server&gt; :&lt;string showing server's local time&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: When replying to the TIME message, a server MUST send the reply using the RPL_TIME format above. The string showing the time need only contain the correct day and time there. There is no further requirement for the time string.
    type: :BULLET
  name: RPL_TIME
  value: "391"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:UserID Terminal Host&quot;"
  name: RPL_USERSSTART
  value: "392"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:&lt;username&gt; &lt;ttyline&gt; &lt;hostname&gt;&quot;"
  name: RPL_USERS
  value: "393"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:End of users&quot;"
  name: RPL_ENDOFUSERS
  value: "394"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Nobody logged in&quot;"
  name: RPL_NOUSERS
  value: "395"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;Link &lt;version &amp; debug level&gt; &lt;destination&gt; &lt;next server&gt; V&lt;protocol version&gt; &lt;link uptime in seconds&gt; &lt;backstream sendq&gt; &lt;upstream sendq&gt;&quot;"
  name: RPL_TRACELINK
  value: "200"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;Try. &lt;class&gt; &lt;server&gt;&quot;"
  name: RPL_TRACECONNECTING
  value: "201"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;H.S. &lt;class&gt; &lt;server&gt;&quot;"
  name: RPL_TRACEHANDSHAKE
  value: "202"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;???? &lt;class&gt; [&lt;client IP address in dot form&gt;]&quot;"
  name: RPL_TRACEUNKNOWN
  value: "203"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;Oper &lt;class&gt; &lt;nick&gt;&quot;"
  name: RPL_TRACEOPERATOR
  value: "204"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;User &lt;class&gt; &lt;nick&gt;&quot;"
  name: RPL_TRACEUSER
  value: "205"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;Serv &lt;class&gt; &lt;int&gt;S &lt;int&gt;C &lt;server&gt; &lt;nick!user|*!*&gt;@&lt;host|server&gt; V&lt;protocol version&gt;&quot;"
  name: RPL_TRACESERVER
  value: "206"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;Service &lt;class&gt; &lt;name&gt; &lt;type&gt; &lt;active type&gt;&quot;"
  name: RPL_TRACESERVICE
  value: "207"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;newtype&gt; 0 &lt;client name&gt;&quot;"
  name: RPL_TRACENEWTYPE
  value: "208"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;Class &lt;class&gt; &lt;count&gt;&quot;"
  name: RPL_TRACECLASS
  value: "209"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Unused.
  name: RPL_TRACERECONNECT
  value: "210"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;File &lt;logfile&gt; &lt;debug level&gt;&quot;"
  name: RPL_TRACELOG
  value: "261"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;server name&gt; &lt;version &amp; debug level&gt; :End of TRACE&quot;"
  name: RPL_TRACEEND
  value: "262"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Current local users: 3 Max: 4&quot;"
  name: RPL_LOCALUSERS
  value: "265"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Current global users: 3 Max: 4&quot;"
  name: RPL_GLOBALUSERS
  value: "266"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;::Highest connection count: 4 (4 clients) (251 since server was (re)started)&quot;"
  name: RPL_STATSCONN
  value: "250"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;linkname&gt; &lt;sendq&gt; &lt;sent messages&gt; &lt;sent Kbytes&gt; &lt;received messages&gt; &lt;received Kbytes&gt; &lt;time open&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: reports statistics on a connection. &lt;linkname&gt; identifies the particular connection, &lt;sendq&gt; is the amount of data that is queued and waiting to be sent &lt;sent messages&gt; the number of messages sent, and &lt;sent Kbytes&gt; the amount of data sent, in Kbytes. &lt;received messages&gt; and &lt;received Kbytes&gt; are the equivalent of &lt;sent messages&gt; and &lt;sent Kbytes&gt; for received data, respectively. &lt;time open&gt; indicates how long ago the connection was opened, in seconds.
    type: :BULLET
  name: RPL_STATSLINKINFO
  value: "211"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;command&gt; &lt;count&gt; &lt;byte count&gt; &lt;remote count&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: reports statistics on commands usage.
    type: :BULLET
  name: RPL_STATSCOMMANDS
  value: "212"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;stats letter&gt; :End of STATS report&quot;"
  name: RPL_ENDOFSTATS
  value: "219"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Server Up %d days %d:%02d:%02d&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: reports the server uptime.
    type: :BULLET
  name: RPL_STATSUPTIME
  value: "242"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;O &lt;hostmask&gt; * &lt;name&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: reports the allowed hosts from where user may become IRC operators.
    type: :BULLET
  name: RPL_STATSOLINE
  value: "243"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;user mode string&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: To answer a query about a client's own mode, RPL_UMODEIS is sent back.
    type: :BULLET
  name: RPL_UMODEIS
  value: "221"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;name&gt; &lt;server&gt; &lt;mask&gt; &lt;type&gt; &lt;hopcount&gt; &lt;info&gt;&quot;"
  name: RPL_SERVLIST
  value: "234"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;mask&gt; &lt;type&gt; :End of service listing&quot;"
  name: RPL_SERVLISTEND
  value: "235"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:There are &lt;integer&gt; users and &lt;integer&gt; services on &lt;integer&gt; servers&quot;"
  name: RPL_LUSERCLIENT
  value: "251"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;integer&gt; :operator(s) online&quot;"
  name: RPL_LUSEROP
  value: "252"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;integer&gt; :unknown connection(s)&quot;"
  name: RPL_LUSERUNKNOWN
  value: "253"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;integer&gt; :channels formed&quot;"
  name: RPL_LUSERCHANNELS
  value: "254"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:I have &lt;integer&gt; clients and &lt;integer&gt; servers&quot;"
  name: RPL_LUSERME
  value: "255"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;server&gt; :Administrative info&quot;"
  name: RPL_ADMINME
  value: "256"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:&lt;admin info&gt;&quot;"
  name: RPL_ADMINLOC1
  value: "257"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:&lt;admin info&gt;&quot;"
  name: RPL_ADMINLOC2
  value: "258"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:&lt;admin info&gt;&quot;"
  name: RPL_ADMINEMAIL
  value: "259"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;command&gt; :Please wait a while and try again.&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: When a server drops a command without processing it, it MUST use the reply RPL_TRYAGAIN to inform the originating client.
    type: :BULLET
  name: RPL_TRYAGAIN
  value: "263"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nickname&gt; :No such nick/channel&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Used to indicate the nickname parameter supplied to a command is currently unused.
    type: :BULLET
  name: ERR_NOSUCHNICK
  value: "401"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;server name&gt; :No such server&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Used to indicate the server name given currently does not exist.
    type: :BULLET
  name: ERR_NOSUCHSERVER
  value: "402"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel name&gt; :No such channel&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Used to indicate the given channel name is invalid.
    type: :BULLET
  name: ERR_NOSUCHCHANNEL
  value: "403"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel name&gt; :Cannot send to channel&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Sent to a user who is either (a) not on a channel which is mode +n or (b) not a chanop (or mode +v) on a channel which has mode +m set or where the user is banned and is trying to send a PRIVMSG message to that channel.
    type: :BULLET
  name: ERR_CANNOTSENDTOCHAN
  value: "404"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel name&gt; :You have joined too many channels&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Sent to a user when they have joined the maximum number of allowed channels and they try to join another channel.
    type: :BULLET
  name: ERR_TOOMANYCHANNELS
  value: "405"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nickname&gt; :There was no such nickname&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by WHOWAS to indicate there is no history information for that nickname.
    type: :BULLET
  name: ERR_WASNOSUCHNICK
  value: "406"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;target&gt; :&lt;error code&gt; recipients. &lt;abort message&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned to a client which is attempting to send a PRIVMSG/NOTICE using the user@host destination format and for a user@host which has several occurrences.
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned to a client which trying to send a PRIVMSG/NOTICE to too many recipients.
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned to a client which is attempting to JOIN a safe channel using the shortname when there are more than one such channel.
    type: :BULLET
  name: ERR_TOOMANYTARGETS
  value: "407"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;service name&gt; :No such service&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned to a client which is attempting to send a SQUERY to a service which does not exist.
    type: :BULLET
  name: ERR_NOSUCHSERVICE
  value: "408"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:No origin specified&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: PING or PONG message missing the originator parameter.
    type: :BULLET
  name: ERR_NOORIGIN
  value: "409"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:No recipient given (&lt;command&gt;)&quot;"
  name: ERR_NORECIPIENT
  value: "411"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:No text to send&quot;"
  name: ERR_NOTEXTTOSEND
  value: "412"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;mask&gt; :No toplevel domain specified&quot;"
  name: ERR_NOTOPLEVEL
  value: "413"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;mask&gt; :Wildcard in toplevel domain&quot;"
  name: ERR_WILDTOPLEVEL
  value: "414"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;mask&gt; :Bad Server/host mask&quot;"
  name: ERR_BADMASK
  value: "415"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;command&gt; :Unknown command&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned to a registered client to indicate that the command sent is unknown by the server.
    type: :BULLET
  name: ERR_UNKNOWNCOMMAND
  value: "421"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:MOTD File is missing&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Server's MOTD file could not be opened by the server.
    type: :BULLET
  name: ERR_NOMOTD
  value: "422"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;server&gt; :No administrative info available&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by a server in response to an ADMIN message when there is an error in finding the appropriate information.
    type: :BULLET
  name: ERR_NOADMININFO
  value: "423"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:File error doing &lt;file op&gt; on &lt;file&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Generic error message used to report a failed file operation during the processing of a message.
    type: :BULLET
  name: ERR_FILEERROR
  value: "424"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:No nickname given&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned when a nickname parameter expected for a command and isn't found.
    type: :BULLET
  name: ERR_NONICKNAMEGIVEN
  value: "431"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; :Erroneous nickname&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned after receiving a NICK message which contains characters which do not fall in the defined set. See section 2.3.1 for details on valid nicknames.
    type: :BULLET
  name: ERR_ERRONEUSNICKNAME
  value: "432"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; :Nickname is already in use&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned when a NICK message is processed that results in an attempt to change to a currently existing nickname.
    type: :BULLET
  name: ERR_NICKNAMEINUSE
  value: "433"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; :Nickname collision KILL from &lt;user&gt;@&lt;host&gt;&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by a server to a client when it detects a nickname collision (registered of a NICK that already exists by another server).
    type: :BULLET
  name: ERR_NICKCOLLISION
  value: "436"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick/channel&gt; :Nick/channel is temporarily unavailable&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by a server to a user trying to join a channel currently blocked by the channel delay mechanism.
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by a server to a user trying to change nickname when the desired nickname is blocked by the nick delay mechanism.
    type: :BULLET
  name: ERR_UNAVAILRESOURCE
  value: "437"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;nick&gt; &lt;channel&gt; :They aren't on that channel&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by the server to indicate that the target user of the command is not on the given channel.
    type: :BULLET
  name: ERR_USERNOTINCHANNEL
  value: "441"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :You're not on that channel&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by the server whenever a client tries to perform a channel affecting command for which the client isn't a member.
    type: :BULLET
  name: ERR_NOTONCHANNEL
  value: "442"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;user&gt; &lt;channel&gt; :is already on channel&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned when a client tries to invite a user to a channel they are already on.
    type: :BULLET
  name: ERR_USERONCHANNEL
  value: "443"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;user&gt; :User not logged in&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by the summon after a SUMMON command for a user was unable to be performed since they were not logged in.
    type: :BULLET
  name: ERR_NOLOGIN
  value: "444"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:SUMMON has been disabled&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned as a response to the SUMMON command. MUST be returned by any server which doesn't implement it.
    type: :BULLET
  name: ERR_SUMMONDISABLED
  value: "445"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:USERS has been disabled&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned as a response to the USERS command. MUST be returned by any server which does not implement it.
    type: :BULLET
  name: ERR_USERSDISABLED
  value: "446"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:You have not registered&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by the server to indicate that the client MUST be registered before the server will allow it to be parsed in detail.
    type: :BULLET
  name: ERR_NOTREGISTERED
  value: "451"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;command&gt; :Not enough parameters&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by the server by numerous commands to indicate to the client that it didn't supply enough parameters.
    type: :BULLET
  name: ERR_NEEDMOREPARAMS
  value: "461"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Unauthorized command (already registered)&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by the server to any link which tries to change part of the registered details (such as password or user details from second USER message).
    type: :BULLET
  name: ERR_ALREADYREGISTRED
  value: "462"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Your host isn't among the privileged&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned to a client which attempts to register with a server which does not been setup to allow connections from the host the attempted connection is tried.
    type: :BULLET
  name: ERR_NOPERMFORHOST
  value: "463"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Password incorrect&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned to indicate a failed attempt at registering a connection for which a password was required and was either not given or incorrect.
    type: :BULLET
  name: ERR_PASSWDMISMATCH
  value: "464"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:You are banned from this server&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned after an attempt to connect and register yourself with a server which has been setup to explicitly deny connections to you.
    type: :BULLET
  name: ERR_YOUREBANNEDCREEP
  value: "465"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Sent by a server to a user to inform that access to the server will soon be denied.
    type: :BULLET
  name: ERR_YOUWILLBEBANNED
  value: "466"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :Channel key already set&quot;"
  name: ERR_KEYSET
  value: "467"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :Cannot join channel (+l)&quot;"
  name: ERR_CHANNELISFULL
  value: "471"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;char&gt; :is unknown mode char to me for &lt;channel&gt;&quot;"
  name: ERR_UNKNOWNMODE
  value: "472"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :Cannot join channel (+i)&quot;"
  name: ERR_INVITEONLYCHAN
  value: "473"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :Cannot join channel (+b)&quot;"
  name: ERR_BANNEDFROMCHAN
  value: "474"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :Cannot join channel (+k)&quot;"
  name: ERR_BADCHANNELKEY
  value: "475"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :Bad Channel Mask&quot;"
  name: ERR_BADCHANMASK
  value: "476"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :Channel doesn't support modes&quot;"
  name: ERR_NOCHANMODES
  value: "477"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; &lt;char&gt; :Channel list is full&quot;"
  name: ERR_BANLISTFULL
  value: "478"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Permission Denied- You're not an IRC operator&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Any command requiring operator privileges to operate MUST return this error to indicate the attempt was unsuccessful.
    type: :BULLET
  name: ERR_NOPRIVILEGES
  value: "481"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;&lt;channel&gt; :You're not channel operator&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Any command requiring 'chanop' privileges (such as MODE messages) MUST return this error if the client making the attempt is not a chanop on the specified channel.
    type: :BULLET
  name: ERR_CHANOPRIVSNEEDED
  value: "482"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:You can't kill a server!&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Any attempts to use the KILL command on a server are to be refused and this error returned directly to the client.
    type: :BULLET
  name: ERR_CANTKILLSERVER
  value: "483"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Your connection is restricted!&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Sent by the server to a user upon connection to indicate the restricted nature of the connection (user mode &quot;+r&quot;).
    type: :BULLET
  name: ERR_RESTRICTED
  value: "484"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:You're not the original channel operator&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Any MODE requiring &quot;channel creator&quot; privileges MUST return this error if the client making the attempt is not a chanop on the specified channel.
    type: :BULLET
  name: ERR_UNIQOPPRIVSNEEDED
  value: "485"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:No O-lines for your host&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: If a client sends an OPER message and the server has not been configured to allow connections from the client's host as an operator, this error MUST be returned.
    type: :BULLET
  name: ERR_NOOPERHOST
  value: "491"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Unknown MODE flag&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Returned by the server to indicate that a MODE message was sent with a nickname parameter and that the a mode flag sent was not recognized.
    type: :BULLET
  name: ERR_UMODEUNKNOWNFLAG
  value: "501"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: "&quot;:Cannot change mode for other users&quot;"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "-"
      body: Error sent to any user trying to view or change the user mode for a user other than themselves.
    type: :BULLET
  name: ERR_USERSDONTMATCH
  value: "502"
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: 5.3 Reserved numerics
  - !ruby/struct:SM::Flow::P 
    body: "These numerics are not described above since they fall into one of the following categories:"
  - !ruby/object:SM::Flow::LIST 
    contents: 
    - !ruby/struct:SM::Flow::LI 
      label: "1."
      body: no longer in use;
    - !ruby/struct:SM::Flow::LI 
      label: "2."
      body: reserved for future planned use;
    - !ruby/struct:SM::Flow::LI 
      label: "3."
      body: in current use but are part of a non-generic 'feature' of the current IRC server.
    type: :NUMBER
  name: RPL_SERVICEINFO
  value: "231"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_ENDOFSERVICES
  value: "232"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_SERVICE
  value: "233"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_NONE
  value: "300"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_WHOISCHANOP
  value: "316"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_KILLDONE
  value: "361"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_CLOSING
  value: "362"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_CLOSEEND
  value: "363"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_INFOSTART
  value: "373"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_MYPORTIS
  value: "384"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSCLINE
  value: "213"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSNLINE
  value: "214"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSILINE
  value: "215"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSKLINE
  value: "216"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSQLINE
  value: "217"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSYLINE
  value: "218"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSVLINE
  value: "240"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSLLINE
  value: "241"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSHLINE
  value: "244"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSSLINE
  value: "244"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSPING
  value: "246"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_STATSBLINE
  value: "247"
- !ruby/object:RI::Constant 
  comment: 
  name: ERR_NOSERVICEHOST
  value: "492"
- !ruby/object:RI::Constant 
  comment: 
  name: RPL_DATASTR
  value: "290"
- !ruby/object:RI::Constant 
  comment: 
  name: Config
  value: Bot::Config
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Define standard IRC attriubtes (not so standard actually, but the closest thing we have ...)
  name: Bold
  value: "\"\\002\""
- !ruby/object:RI::Constant 
  comment: 
  name: Underline
  value: "\"\\037\""
- !ruby/object:RI::Constant 
  comment: 
  name: Reverse
  value: "\"\\026\""
- !ruby/object:RI::Constant 
  comment: 
  name: Italic
  value: "\"\\011\""
- !ruby/object:RI::Constant 
  comment: 
  name: NormalText
  value: "\"\\017\""
- !ruby/object:RI::Constant 
  comment: 
  name: AttributeRx
  value: /#{Bold}|#{Underline}|#{Reverse}|#{Italic}|#{NormalText}/
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Color is prefixed by \003 and followed by optional foreground and background specifications, two-digits-max numbers separated by a comma. One of the two parts must be present.
  name: Color
  value: "\"\\003\""
- !ruby/object:RI::Constant 
  comment: 
  name: ColorRx
  value: /#{Color}\d?\d?(?:,\d\d?)?/
- !ruby/object:RI::Constant 
  comment: 
  name: FormattingRx
  value: /#{AttributeRx}|#{ColorRx}/
- !ruby/object:RI::Constant 
  comment: 
  - !ruby/struct:SM::Flow::P 
    body: Standard color codes
  name: ColorCode
  value: "{     :black      => 1,     :blue       => 2,     :navyblue   => 2,     :navy_blue  => 2,     :green      => 3,     :red        => 4,     :brown      => 5,     :purple     => 6,     :olive      => 7,     :yellow     => 8,     :limegreen  => 9,     :lime_green => 9,     :teal       => 10,     :aqualight  => 11,     :aqua_light => 11,     :royal_blue => 12,     :hotpink    => 13,     :hot_pink   => 13,     :darkgray   => 14,     :dark_gray  => 14,     :lightgray  => 15,     :light_gray => 15,     :white      => 16"
full_name: Irc
includes: []

instance_methods: []

name: Irc
superclass: 
