]> jfr.im git - z_archive/pyp10.git/blob - modules/do.py
76cd134bd1f0f4f7c54b78a5dc359dd776aec0c9
[z_archive/pyp10.git] / modules / do.py
1 import sys
2
3 class 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')
8 self._send("J #p10 780000000")
9 def _send(self, line, **kwargs):
10 self.uplink.send(line, self.num, **kwargs)
11 def gotmsg(self, msg, source, target):
12 command, args = msg.split(None, 1)
13 if command == 'exec':
14 try:
15 exec(args, globals(), locals())
16 except:
17 self._send("P #p10 :!%(fromnum)s! exec - Exception: %(exc)r", fromnum=source, exc=sys.exc_info()[1])
18 else:
19 self._send("P #p10 :!%(fromnum)s! exec - Done.", fromnum=source)
20 elif command == 'eval':
21 retval = None
22 try:
23 retval = eval(args, globals(), locals())
24 except:
25 self._send("P #p10 :!%(fromnum)s! eval - Exception: %(exc)r", fromnum=source, exc=sys.exc_info()[1])
26 else:
27 self._send("P #p10 :!%(fromnum)s! eval - Return: %(retval)r", fromnum=source, retval=retval)