]> jfr.im git - z_archive/pyp10.git/blame - modules/do.py
Added initial nick tracking code
[z_archive/pyp10.git] / modules / do.py
CommitLineData
f30d341c
JR
1import sys
2
3class Pseudo(object):
4 def __init__(self, uplink):
5 self.uplink = uplink
6 self.nick = 'Do'
7 self.num = self.uplink.makenick(self, self.nick, 'TheDoBot','PyP10 Do')
1a1d9e61
JR
8 self.uplink.join("#p10", self.num, op=True)
9 self.uplink.endburst(self)
f30d341c
JR
10 def _send(self, line, **kwargs):
11 self.uplink.send(line, self.num, **kwargs)
12 def gotmsg(self, msg, source, target):
5fc101f1
JR
13 msgpieces = msg.split(None, 1)
14 if len(msgpieces) >= 1:
15 command = msgpieces[0]
16 if len(msgpieces) >= 2:
17 args = msgpieces[1]
18
f30d341c
JR
19 if command == 'exec':
20 try:
21 exec(args, globals(), locals())
22 except:
23 self._send("P #p10 :!%(fromnum)s! exec - Exception: %(exc)r", fromnum=source, exc=sys.exc_info()[1])
24 else:
25 self._send("P #p10 :!%(fromnum)s! exec - Done.", fromnum=source)
26 elif command == 'eval':
27 retval = None
28 try:
29 retval = eval(args, globals(), locals())
30 except:
31 self._send("P #p10 :!%(fromnum)s! eval - Exception: %(exc)r", fromnum=source, exc=sys.exc_info()[1])
32 else:
33 self._send("P #p10 :!%(fromnum)s! eval - Return: %(retval)r", fromnum=source, retval=retval)
5fc101f1
JR
34 elif command == 'whoami':
35 user = self.uplink.getuser(source)
36 if user.oper:
37 self._send("O %(fromnum)s :You're %(nick)s, oper", fromnum=source, nick=user.nick)
38 else:
39 self._send("O %(fromnum)s :You're %(nick)s.", fromnum=source, nick=user.nick)