Class: Lita::Adapters::IRC::CinchPlugin

Inherits:
Object
  • Object
show all
Includes:
Cinch::Plugin
Defined in:
lib/lita/adapters/irc/cinch_plugin.rb

Instance Method Summary collapse

Instance Method Details

#execute(m) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/lita/adapters/irc/cinch_plugin.rb', line 17

def execute(m)
  body = get_body(m)
  source = get_source(m)
  message = Message.new(robot, body, source)
  message.command! unless source.room
  dispatch(message)
end

#on_connect(m) ⇒ Object



25
26
27
# File 'lib/lita/adapters/irc/cinch_plugin.rb', line 25

def on_connect(m)
  robot.trigger(:connected)
end

#on_invite(m) ⇒ Object



29
30
31
32
# File 'lib/lita/adapters/irc/cinch_plugin.rb', line 29

def on_invite(m)
  user = user_by_nick(m.user.nick)
  m.channel.join if robot.auth.user_is_admin?(user)
end

#on_nick_change(m) ⇒ Object



57
58
59
60
61
62
63
# File 'lib/lita/adapters/irc/cinch_plugin.rb', line 57

def on_nick_change(m)
  robot.trigger(
    :user_nick_changed,
    old_user: user_by_nick(m.prefix.gsub(/!.*/, '')),
    user: user_by_nick(m.user.nick),
  )
end

#on_quit(m) ⇒ Object



50
51
52
53
54
55
# File 'lib/lita/adapters/irc/cinch_plugin.rb', line 50

def on_quit(m)
  robot.trigger(
    :user_disconnected,
    user: user_by_nick(m.user.nick),
  )
end

#on_room_join(m) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/lita/adapters/irc/cinch_plugin.rb', line 34

def on_room_join(m)
  robot.trigger(
    :user_joined_room,
    user: user_by_nick(m.user.nick),
    room: Lita::Room.create_or_update(m.channel.name, name: m.channel.name),
  )
end

#on_room_part(m) ⇒ Object



42
43
44
45
46
47
48
# File 'lib/lita/adapters/irc/cinch_plugin.rb', line 42

def on_room_part(m)
  robot.trigger(
    :user_parted_room,
    user: user_by_nick(m.user.nick),
    room: Lita::Room.create_or_update(m.channel.name, name: m.channel.name),
  )
end