Welcome.handle()   A
last analyzed

Complexity

Conditions 2

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 2
c 1
b 0
f 1
dl 0
loc 5
rs 9.4285
1
from event import Event
2
from random import choice
3
class Welcome:
4
  def __init__(self, events=None, printer_handle=None, bot=None, say=None):
5
    self.events = events
6
    self.printer = printer_handle
7
    self.interests = []
8
    self.bot = bot
9
10
    self.response = ['np', 'you\'re welcome', 'no problem']
11
12
    nick = self.bot.conf.getNick(self.bot.network)
13
14
    thanks = Event("__thanks__")
15
    thankyou = Event("__thankyou__")
16
    ty = Event("__ty__")
17
18
    thanks.define(msg_definition="([T|t]hanks) " + nick)
19
    thankyou.define(msg_definition="([T|t]hank you) " + nick)
20
    ty.define(msg_definition="ty " + nick)
21
22
    thanks.subscribe(self)
23
    thankyou.subscribe(self)
24
    ty.subscribe(self)
25
26
    # register ourself to our new hello event
27
    self.bot.register_event(thanks, self)
28
    self.bot.register_event(thankyou, self)
29
    self.bot.register_event(ty, self)
30
31
    self.help = None
32
33
    # register ourself for any events that we're interested in that exist already
34
    for event in events:
35
      if event._type in self.interests:
36
        event.subscribe(self)
37
38
  def handle(self, event):
39
    try:
40
      self.bot.brain.say(event.channel, choice(self.response) + " " + event.user + '\n')
41
    except Exception,e:
42
      print e
43
44