+ when RPL_ISUPPORT
+ # "PREFIX=(ov)@+ CHANTYPES=#& :are supported by this server"
+ # "MODES=4 CHANLIMIT=#:20 NICKLEN=16 USERLEN=10 HOSTLEN=63
+ # TOPICLEN=450 KICKLEN=450 CHANNELLEN=30 KEYLEN=23 CHANTYPES=#
+ # PREFIX=(ov)@+ CASEMAPPING=ascii CAPAB IRCD=dancer :are available
+ # on this server"
+ #
+ argv.each {|a|
+ if a =~ /^(.*)=(.*)$/
+ data[$1.downcase.to_sym] = $2
+ end
+ }
+ handle(:isupport, data)
+ when RPL_LUSERCLIENT
+ # ":There are <integer> users and <integer>
+ # services on <integer> servers"
+ data[:message] = argv[1]
+ handle(:luserclient, data)
+ when RPL_LUSEROP
+ # "<integer> :operator(s) online"
+ data[:ops] = argv[1].to_i
+ handle(:luserop, data)
+ when RPL_LUSERUNKNOWN
+ # "<integer> :unknown connection(s)"
+ data[:unknown] = argv[1].to_i
+ handle(:luserunknown, data)
+ when RPL_LUSERCHANNELS
+ # "<integer> :channels formed"
+ data[:channels] = argv[1].to_i
+ handle(:luserchannels, data)
+ when RPL_LUSERME
+ # ":I have <integer> clients and <integer> servers"
+ data[:message] = argv[1]
+ handle(:luserme, data)
+ when ERR_NOMOTD
+ # ":MOTD File is missing"
+ data[:message] = argv[1]
+ handle(:motd_missing, data)
+ when RPL_LOCALUSERS
+ # ":Current local users: 3 Max: 4"
+ data[:message] = argv[1]
+ handle(:localusers, data)
+ when RPL_GLOBALUSERS
+ # ":Current global users: 3 Max: 4"
+ data[:message] = argv[1]
+ handle(:globalusers, data)
+ when RPL_STATSCONN
+ # ":Highest connection count: 4 (4 clients) (251 since server was
+ # (re)started)"
+ data[:message] = argv[1]
+ handle(:statsconn, data)