]>
Commit | Line | Data |
---|---|---|
f30d341c JR |
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') | |
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) |