1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
import logging
from threading import Event
import mh_python
import time
import pyPgSQL.PgSQL
from omegle import OmegleChat
class MegahalBot(OmegleChat):
def __init__(self,disconnect_event,name,ma_host="omegle.com",color=0):
self.disconnect_event = disconnect_event
self.name=name
self.color = 0
OmegleChat.__init__(self,name="Megahal",host=ma_host)
self.idlecount = 0
def c(self,str,bold=False):
if bold:
return "\033[1m\033[%sm%s\033[0m\033[0m" %(self.color, str)
else:
return "\033[%sm%s\033[0m" %(self.color, str)
def respond(self,message):
r=mh_python.doreply(message)
print self.c("%s [MSG] %s: %s" %(time.strftime("%H:%M:%S"), self.name, r),bold=True)
self.send(r)
def on_idle(self):
self.idlecount += 1
if self.idlecount > 8:
self.logger.info("Idle > 8. disconnect()")
self.disconnect()
else:
self.logger.info("Idle count %s/8" % self.idlecount)
def on_message(self,message):
self.idlecount = 0
print self.c("%s [MSG] %s: %s" %(time.strftime("%H:%M:%S"), "Stranger", message),bold=True)
self.respond(message)
def on_connect(self):
print self.c("%s [EVT] %s Connection confirmed" % (time.strftime("%H:%M:%S"), self.name))
self.send(u"Hi %s!" % self.name)
def on_disconnect(self):
print self.c("%s [EVT] %s disconnect" % (time.strftime("%H:%M:%S"), self.name))
self.disconnect_event.set()
if __name__ == "__main__":
colors = {"default":0, "black":30, "red":31, "green":32, "yellow":33,
"blue":34,"magenta":35, "cyan":36, "white":37, "black":38, "black":39}
mh_python.initbrain()
conn = pyPgSQL.PgSQL.connect("")
cur = conn.cursor()
cur.execute("SELECT message FROM omegle_messages")
messages = cur.fetchall()
c=0
for message in messages:
c+=1
if c%20==0:
print "%s%s/%s" % ("\033[2K\033[E",c,len(messages)),
#XXX pass massage[0] to mh and end with a fucked up python
mh_python.learn("%s " % (message[0]))
print ""
cur.close()
conn.close()
logging.basicConfig(level=logging.DEBUG)
print "press ctrl-c to abort"
event = Event()
#bot=MegahalBot(event,"A",ma_host="localhost:8082",color=colors['red'])
bot=MegahalBot(event,"A",color=colors['red'])
bot.start()
try:
while True:
event.wait(0.5)
if event.isSet():
print "partner"
break
except KeyboardInterrupt:
print "CTRL-C pressed, exiting"
if bot.is_connected: bot.disconnect()
|