--- !ruby/object:RI::MethodDescription 
aliases: []

block_params: 
comment: 
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "key:"
    body: server event to handle
  - !ruby/struct:SM::Flow::LI 
    label: "value:"
    body: proc object called when event occurs
  type: :NOTE
- !ruby/struct:SM::Flow::P 
  body: set a handler for a server event
- !ruby/struct:SM::Flow::H 
  level: 2
  text: "server events currently supported:"
- !ruby/struct:SM::Flow::P 
  body: TODO handle errors ERR_CHANOPRIVSNEEDED, ERR_CANNOTSENDTOCHAN
- !ruby/object:SM::Flow::LIST 
  contents: 
  - !ruby/struct:SM::Flow::LI 
    label: "welcome:"
    body: server welcome message on connect
  - !ruby/struct:SM::Flow::LI 
    label: "yourhost:"
    body: your host details (on connection)
  - !ruby/struct:SM::Flow::LI 
    label: "created:"
    body: when the server was started
  - !ruby/struct:SM::Flow::LI 
    label: "isupport:"
    body: information about what this server supports
  - !ruby/struct:SM::Flow::LI 
    label: "ping:"
    body: server pings you (default handler returns a pong)
  - !ruby/struct:SM::Flow::LI 
    label: "nicktaken:"
    body: you tried to change nick to one that's in use
  - !ruby/struct:SM::Flow::LI 
    label: "badnick:"
    body: you tried to change nick to one that's invalid
  - !ruby/struct:SM::Flow::LI 
    label: "topic:"
    body: someone changed the topic of a channel
  - !ruby/struct:SM::Flow::LI 
    label: "topicinfo:"
    body: on joining a channel or asking for the topic, tells you who set it and when
  - !ruby/struct:SM::Flow::LI 
    label: "names:"
    body: server sends list of channel members when you join
  - !ruby/struct:SM::Flow::LI 
    label: "motd:"
    body: server message of the day
  - !ruby/struct:SM::Flow::LI 
    label: "privmsg:"
    body: privmsg, the core of IRC, a message to you from someone
  - !ruby/struct:SM::Flow::LI 
    label: "public:"
    body: optionally instead of getting privmsg you can hook to only the public ones...
  - !ruby/struct:SM::Flow::LI 
    label: "msg:"
    body: or only the private ones, or both
  - !ruby/struct:SM::Flow::LI 
    label: "kick:"
    body: someone got kicked from a channel
  - !ruby/struct:SM::Flow::LI 
    label: "part:"
    body: someone left a channel
  - !ruby/struct:SM::Flow::LI 
    label: "quit:"
    body: someone quit IRC
  - !ruby/struct:SM::Flow::LI 
    label: "join:"
    body: someone joined a channel
  - !ruby/struct:SM::Flow::LI 
    label: "changetopic:"
    body: the topic of a channel changed
  - !ruby/struct:SM::Flow::LI 
    label: "invite:"
    body: you are invited to a channel
  - !ruby/struct:SM::Flow::LI 
    label: "nick:"
    body: someone changed their nick
  - !ruby/struct:SM::Flow::LI 
    label: "mode:"
    body: a mode change
  - !ruby/struct:SM::Flow::LI 
    label: "notice:"
    body: someone sends you a notice
  - !ruby/struct:SM::Flow::LI 
    label: "unknown:"
    body: any other message not handled by the above
  type: :NOTE
full_name: Irc::Client#[]=
is_singleton: false
name: "[]="
params: (key, value)
visibility: public
