Skip to content

Instantly share code, notes, and snippets.

@avescodes
Created March 13, 2010 03:46
Show Gist options
  • Save avescodes/331089 to your computer and use it in GitHub Desktop.
Save avescodes/331089 to your computer and use it in GitHub Desktop.
def register_for_muc_callbacks(client)
params = {:muc => client}
client.on_join {|time,nick| respond_to(:join, params.merge!(:time=>time,:nick=>nick))}
client.on_leave {|time,nick| respond_to(:leave, params.merge!(:time=>time,:nick=>nick))}
client.on_message {|time,nick,text| respond_to(:message, params.merge!(:time=>time,:nick=>nick,:text=>text))}
client.on_private_message {|time,nick,text| respond_to(:private_message, params.merge!(:time=>time,:nick=>nick,:text=>text))}
client.on_room_message {|time,text| respond_to(:room_message, params.merge!(:time => time, :text => text))}
client.on_self_leave {|time| respond_to(:self_leave, params.merge!(:time => time)) }
client.on_subject {|time,nick,subject| respond_to(:subject, params.merge!(:time => time, :nick => nickname, :subject => subject))}
end
def respond_to(callback, params)
if params[:muc]
# call appropriate callback responder chain
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment