All pastes #278549 Raw Edit

Something

public python v1 · immutable
·published 2006-12-14 04:42 UTC
rendered paste body
import socketimport selectimport bncs__date__ = 'December.03.2006'__author__ = 'topaz'class pybbot:    def __init__(self):        pass        def connect(self, server, port=6112):        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)        self.socket.connect((server, port))                self.socket.send(chr(1))        self.packet_builder = bncs.builder(self.socket)        self.packet_builder.send_0x50()    def recv_loop(self):        packet_handler = bncs.handler(self.socket)        buffer_data = ''        buffer_length = 0        while True:            readable, writable, error = select.select([self.socket], [], [], 15)                        if readable <> []:                temp_data = self.socket.recv(1024)                recvd_len = len(temp_data)                buffer_data += temp_data                buffer_length += recvd_len                while buffer_length >= 4:                    packet_length = self.packet_builder.send_buffer.unpack_byte(buffer_data[2:3])                    if (buffer_length < packet_length):                        break                    else:                        print buffer_data[:packet_length]                        packet_handler.parse_packet(buffer_data[:packet_length])                        buffer_data = buffer_data[packet_length:]                        buffer_length -= packet_lengthif __name__ == '__main__':    bot = pybbot()    bot.connect('useast.battle.net')    bot.recv_loop()