Sha256: b91e4c9bd7c72cd3dab124a9dd4df7d58b653c604675d2f4357eb19d0be7baac
Contents?: true
Size: 1.45 KB
Versions: 3
Compression:
Stored size: 1.45 KB
Contents
module MadChatter module MessageListeners class ChannelCommands include MadChatter::Actions def handle(message) @message = message case @message.text when '/join' join_channel stop_message_handling when %r{^/channel create} create_channel stop_message_handling when %r{^/channel rename} rename_channel stop_message_handling end end def join_channel user = MadChatter.find_user_by_token(@message.token) unless user && @message.channel stop_message_handling # user should already exist, and channel id is required end channel = MadChatter.find_channel_by_id(@message.channel) unless channel stop_message_handling # you cant join a channel that doesnt exist end channel.add_user(user) end def create_channel channel_name = %r{^/channel create (.+)}.match(@message.text).captures[0] MadChatter.channels << MadChatter::Channel.new(channel_name) MadChatter.send_channels_list end def rename_channel channel_name = %r{^/channel rename (.+)}.match(@message.text).captures[0] channel = MadChatter.find_channel_by_id(@message.channel) channel.name = channel_name MadChatter.send_channels_list end end end end
Version data entries
3 entries across 3 versions & 1 rubygems