All pastes #812735 Raw Edit

Miscellany

public python v1 · immutable
·published 2007-12-11 23:59 UTC
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)