示例#1
0
    # disabled this method for now
    def userQuit(self, user, quitMessage):
        if self.extract_nick(user) == "":
            self.factory.stop_reactor()

class IRCFactory(protocol.ClientFactory):
    protocol = IRCProtocol

    def __init__(self):
        self.collector = datacollect.DataCollector()

    def clientConnectionFailed(self, connector, reason):
        print "Connection failed: %s" % reason
        self.stop_reactor()
    
    def stop_reactor(self):
        self.collector.close()
        reactor.stop()

    def parse_message(self, username, channel, message):
        self.collector.extract_links(username, channel, message)

if __name__ == "__main__":
    host, port = config.get_host(), int(config.get_port())

    # all output will be logged to reactor.log including errors and tracebacks
    startLogging(open(config.get_reactor_path(), "a"))
    reactor.connectTCP(host, port, IRCFactory())
    reactor.run()