Welcome   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Importance

Changes 3
Bugs 1 Features 2
Metric Value
c 3
b 1
f 2
dl 0
loc 40
rs 10
wmc 5

2 Methods

Rating   Name   Duplication   Size   Complexity  
A handle() 0 5 2
B __init__() 0 33 3
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