def echoToQuake(self, sender, message): """Echo IRC traffic into the Quake console""" cmd = "say [%s] %s"%(str(sender), str(message)) print "RCON: %s"%(cmd) quake.rcon(cmd)
#Quake properties (currently unused) q = config['quake'] quakeserver = q['server'] + ":" + q['port'] rconpass = q['password'] logFile = q['logfile'] #Open the socket connection to IRC print "Opening connection to %s:%s as %s - %s - %s on channel %s"%(ircserver, port, nick, ident, realname, channel) socket=socket.socket( ) socket.connect((ircserver, port)) socket.settimeout(0.1) #Blocking mode doesn't work very well socket.send("NICK %s\r\n" % nick) socket.send("USER %s %s bla :%s\r\n" % (ident, ircserver, realname)) socket.send("JOIN %s\r\n"%channel) #Open the Quake connection #Currently unused as the pyq3 __init__.py does it for us print "Opening connection to Quake 3 server at %s"%(quakeserver) quake.rcon("say QuakeBot Connected.") #Start the IRC listener ircClient = IRCListener(quake, socket, channel) ircClientProcess = Process(target=ircClient.receive, args=()) ircClientProcess.start() #Start the log listener print "Loading Quake log file at %s"%(logFile) logListener = LogListener(quake) logListenerProcess = Process(target=logListener.watchLog, args=(logFile, ircClient,)) logListenerProcess.start()