Total Complexity | 9 |
Total Lines | 29 |
Duplicated Lines | 0 % |
1 | from event import Event |
||
15 | class Seen(BaseModule): |
||
16 | def mem_store_init(self): |
||
17 | if not "tell" in self.bot.mem_store: |
||
18 | self.bot.mem_store['tell'] = dict() |
||
19 | |||
20 | def post_init(self): |
||
21 | self.interests = ['__privmsg__'] # should be first event in the listing.. so lines being added is a priority |
||
22 | for event in self.events: |
||
23 | if event._type in self.interests: |
||
24 | event.subscribe(self) |
||
25 | |||
26 | self.help = ".seen <nickname>. describes when the bot last saw <nickname> active in channel" |
||
27 | |||
28 | self.mem_store_init() |
||
29 | |||
30 | def handle(self, event): |
||
31 | self.mem_store_init() |
||
32 | |||
33 | if event.msg.startswith(".seen"): |
||
34 | try: |
||
35 | nick = event.msg.split()[1] |
||
36 | except IndexError: |
||
37 | return |
||
38 | if nick in self.bot.mem_store['tell']: |
||
39 | self.say(event.channel, "Last saw " + nick + " " + prettydate(self.bot.mem_store['tell'][nick])) |
||
40 | else: |
||
41 | self.say(event.channel, "haven't seen " + nick) |
||
42 | |||
43 | self.bot.mem_store['tell'][event.user] = datetime.now() |
||
44 | |||
45 |