annotate DCPUToolBot-master/dcpubot.py @ 2764:85927d51a933

<ThatOtherPerson> tar -xvf master.tar.gz
author HackBot
date Mon, 22 Apr 2013 15:39:43 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2764
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
1 #!/usr/bin/env python
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
2 import irc
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
3 import config
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
4 import subprocess
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
5 import dcpu
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
6 import random
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
7
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
8 irc.connect(config.host, config.port, config.nick, config.password)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
9 irc.join(config.chan)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
10
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
11 def onAssemble(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
12 print "Assembling"
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
13 print matches.group()
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
14 print matches.group(1)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
15 binary, errors = dcpu.assemble(matches.group(1))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
16
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
17 if binary:
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
18 irc.privmsg(nick, chan, ', '.join(binary))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
19 if errors:
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
20 irc.privmsg(nick, chan, errors)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
21
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
22 irc.onPrivmsg(">>>(.+)", onAssemble)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
23
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
24 def onDisassemble(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
25 print "Disassembling"
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
26 print matches.group()
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
27 print matches.group(1)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
28 code = dcpu.disassemble(matches.group(1))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
29
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
30 if code:
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
31 irc.privmsg(nick, chan, code)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
32
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
33 irc.onPrivmsg("<<<(.+)", onDisassemble)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
34
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
35 def onExecute(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
36 executed, errors = dcpu.execute(matches.group(1))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
37
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
38 if executed:
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
39 irc.privmsg(nick, chan, executed)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
40 if errors:
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
41 irc.privmsg(nick, chan, errors)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
42
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
43 irc.onPrivmsg(">>([^>].+)", onExecute)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
44
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
45 def onHex(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
46 converted = 0
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
47
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
48 if matches.group(1) == "0b":
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
49 converted = hex(int(matches.group(2), 2))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
50 else:
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
51 converted = hex(int(matches.group(2)))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
52
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
53 irc.privmsg(nick, chan, converted)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
54
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
55 irc.onPrivmsg(r"^hex\((0b)?(\d+)\)", onHex)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
56
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
57 def onDec(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
58 converted = 0
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
59
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
60 if matches.group(1) == "0b":
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
61 converted = str(int(matches.group(2), 2))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
62 elif matches.group(1) == "0x":
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
63 converted = str(int(matches.group(2), 16))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
64 else:
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
65 converted = str(int(matches.group(2)))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
66
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
67 irc.privmsg(nick, chan, converted)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
68
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
69 irc.onPrivmsg(r"^dec\((0b|0x)?([0-9a-fA-F]+)\)", onDec)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
70
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
71 def onBin(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
72 converted = 0
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
73
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
74 if matches.group(1) == "0x":
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
75 converted = bin(int(matches.group(2), 16))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
76 else:
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
77 converted = bin(int(matches.group(2), 16))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
78
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
79 irc.privmsg(nick, chan, converted)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
80
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
81 irc.onPrivmsg(r"^bin\((0x)?([0-9a-fA-F]+)\)", onBin)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
82
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
83 def onStinks(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
84 messages = ["So do you!!!", "Shut up.", "You smell even worse.", "You really shouldn't be talking."]
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
85 irc.privmsg(nick, chan, choice(messages))
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
86
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
87 irc.onPrivmsg(".*" + config.nick + r":?( ?is| you)? stink(ing|s)?.*", onStinks)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
88
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
89 def onReload(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
90 if(host == "unaffiliated/thatotherpersony"):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
91 subprocess.call(["git", "pull", "origin", "master"]);
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
92 irc.privmsg(nick, chan, "Pulled latest changes from GitHub. Restarting.")
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
93 exit()
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
94 elif(host == "unaffiliated/quu"):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
95 irc.privmsg(nick, chan, "wat. Quu. derp.\nReally?\nInitializing spambot mode. >:D")
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
96 else:
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
97 irc.privmsg(nick, chan, "No. I don't wanna!")
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
98
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
99 irc.onMsgToMe(".*reload.*", onReload)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
100
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
101 def onTest(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
102 irc.privmsg(nick, chan, "lolololol wat derp. ping Quu! ping mrout! Why not!")
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
103
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
104 irc.onMsgToMe(".*test.*", onTest)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
105
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
106 def onRudeness(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
107 irc.privmsg(nick, chan, "Why don't you?")
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
108
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
109 irc.onMsgToMe(".*stfu.*", onRudeness)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
110
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
111 def onHello(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
112 irc.privmsg(nick, chan, "Howdy!")
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
113
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
114 irc.onMsgToMe(".*hello.*", onHello)
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
115
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
116 def onSup(nick, user, host, chan, matches):
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
117 irc.privmsg(nick, chan, "I'm fine. How about you?")
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
118
85927d51a933 <ThatOtherPerson> tar -xvf master.tar.gz
HackBot
parents:
diff changeset
119 irc.onMsgToMe(".*(how.*you|sup|what.*up).*", onSup)