rendered paste body###### The module file###class pythonator: def __init__(self, command=">>"): import socket import time self.host = "irc.freenode.net" self.port = 6667 self.nick = "Pythonator" self.ident = "Pythonator" self.realname = "Pythonator" self.owner = "Chaser3275" self.command = command self.sock = socket.socket() def connect(self, channel): self.sock.connect((self.host, self.port)) self.sock.send('NICK '+self.nick+'\r\n') self.sock.send('USER '+self.ident+' '+self.host+' what? :'+self.realname+'\r\n') self.sock.send("JOIN " + channel + "\r\n") def recv(self, buf=2048): data = self.sock.recv(buf) if data: return data else: return None def send(self, data): self.sock.send(data) def say(self, data, channel): msg = "PRIVMSG " + channel + " :" + data + "\r\n" print msg # for debug purposes self.sock.send(msg) def pingpong(self, data): if data.find("PING") != -1: ping_id = data.split(":")[1] self.sock.send("PONG :" + ping_id) def getMSG(self, data): if data.find("PRIVMSG") != -1: username = (data.split("!")[0]).split(":")[1] channel = (data.split("PRIVMSG ")[1]).split(" :")[0] msg = data.split(":") del msg[0] del msg[0] msg = ":".join(msg) msg = msg.split("\r\n")[0] pack = [msg, username, channel] return pack else: return None def doCommand(self, pack): msg = pack[0] username = pack[1] channel = pack[2] if msg.find(self.command) != -1: command = (msg.split(self.command)[1]).split(" ") print command if command[0] == "say": temp = command del temp[0] temp = " ".join(temp) self.say(temp, channel)###### The run file###import pythonatorp = pythonator.pythonator()p.connect("#Bot_Games")while 1: data = p.recv() if data: p.pingpong(data) pack = p.getMSG(data) if pack: p.doCommand(pack)