Added the irclog django project
[pyIRCbot.git] / plugins / lseen_plugin.py
blob80dc27fe91188c4954e5cebb0a2608cfa07dd847
1 # -*- coding: utf-8 -*-
2 import time
4 COMMAND = ':seen'
5 MESSAGE_FORMAT = '%s: %s, ostatnio coś mówił o %s'
6 USAGE = 'chcesz wiedziac jak uzywac? nie powiem!'
8 IS_HERE = 'jest tutaj'
9 NOT_HERE = 'nie ma go tutaj'
11 SEEN_SEEN = '%s: hyh, nie, nie nie!'
12 SEEN_YOU = '%s: zabawny jestes...'
13 SEEN_NOT = '%s: nie widzialem, przepraszam! ;('
15 class LastSeen(object):
17 def __init__(self):
18 self.lseen = {}
20 def __call__(self, server):
21 try:
22 if server.msg_data['command'] in ['join', 'pubmsg', 'privmsg']:
23 self.lseen[server.msg_data['user']] = [time.strftime('%H:%M'),
24 IS_HERE ]
25 elif server.msg_data['command'] in ['kick', 'part', 'quit']:
26 self.lseen[server.msg_data['user']] = [time.strftime('%H:%M'),
27 NOT_HERE ]
28 elif server.msg_data['command'] == 'nick':
29 self.lseen[server.msg_data['target']] = [time.strftime('%H:%M'),
30 IS_HERE]
31 self.get_info(server)
32 except IndexError:
33 pass
36 def get_info(self, server):
37 if server.msg_data['msg_list'][0] == COMMAND \
38 and len(server.msg_data['msg_list']) == 2:
39 if server.msg_data['msg_list'][1] == COMMAND:
40 server.privmsg(server.msg_data['target'],
41 SEEN_SEEN % server.msg_data['user'])
42 elif server.msg_data['msg_list'][1] == server.msg_data['user']:
43 server.privmsg(server.msg_data['target'],
44 SEEN_YOU % server.msg_data['user'])
45 else:
46 if not self.lseen.has_key(server.msg_data['msg_list'][1]):
47 server.privmsg(server.msg_data['target'],
48 SEEN_NOT % server.msg_data['user'])
49 else:
50 user = self.lseen[server.msg_data['msg_list'][1]]
51 server.privmsg(server.msg_data['target'],
52 MESSAGE_FORMAT % (server.msg_data['user'],
53 user[1], user[0]))
54 elif server.msg_data['msg_list'][0] == COMMAND \
55 and len(server.msg_data['msg_list']) == 1:
56 server.privmsg(server.msg_data['target'], USAGE)