示例#1
0
文件: frubot.py 项目: unhit/frubot
def main():
    if len(sys.argv) != 2:
        print "Usage: frubot <config>"
        sys.exit(1)

    cfg = config.Config(sys.argv[1])
    cfg.read()
    cfg.show()
    
    s = cfg.ircServer.split(":", 1)
    server = s[0]
    if len(s) == 2:
        try:
            port = int(s[1])
        except ValueError:
            print "Error: Erroneous port."
            sys.exit(1)
    else:
        port = 6667
    nickname = cfg.ircNick
    initnickname = nickname
    target = cfg.ircChannel

    while True:
	try:
	    r = rcon.rcon(cfg.serverAddr, int(cfg.serverPort), cfg.rconPassword)
	    c = IRCCat(target, r, cfg)
	    print "*** Connecting to %s:%d as %s" % (server, port, nickname)
    	    c.connect(server, port, nickname)
    	    
    	    print "*** Opening logs"
	    reader = Reader(cfg.logName, c, target)
	    reader.start()
	    time.sleep(1.0)
	    c.start()
	
	except irclib.ServerConnectionError:
	    print "Could not connect to server"
	    reader.disable()
	except irclib.ServerNotConnectedError:
	    print "Reconnecting in 10 secs"
	    reader.disable()
	    time.sleep(10.0)
	except KeyboardInterrupt:
	    print "*!* Interrupted by keyboard! Waiting for threads..."
	    reader.disable()
	    c.disconnect("[frubot] kthxbai :(")
	    sys.exit(0)
	except:
	    print sys.exc_info()[:2]
	    print "Restarting ..."
	    
	    if nickname != initnickname:
		nickname = initnickname
	    else:
		nickname = nickname + "_"
		
	    cfg.ircNick = nickname
	    reader.disable()
	    time.sleep(10.0)
示例#2
0
def main():
    if len(sys.argv) != 2:
        print "Usage: mybot.py <config>"
        sys.exit(1)
     
    cfg = config.Config(sys.argv[1])
    cfg.read()
    cfg.printValues()
    
    server = cfg.ircServer
    port = cfg.ircPort
    nickname = cfg.ircNick
    auth = cfg.ircAuth
    initnickname = nickname
    target = cfg.ircChannel
    targetpass = cfg.ircChannelPass
    
    
    while True:
        try:
	    r = rcon.rcon(cfg.gameserverIP, int(cfg.gameserverPort), cfg.gameserverRcon)
            s = MyBot(target, targetpass, r, cfg)
            print "*** Connecting to %s:%d as %s" % (server, port, nickname)
            s.connect(server, port, nickname)
            authmsg = "AUTH " + nickname + " " + auth
            s.connection.privmsg("*****@*****.**", authmsg)
            time.sleep(10.0)
            s.start()
        except irclib.ServerConnectionError:
            print "Could not connect to server"
        except irclib.ServerNotConnectedError:
            print "Reconnecting in 10 secs"
            time.sleep(10.0)
        except KeyboardInterrupt:
            print "*!* Interrupted by keyboard! Waiting for threads..."
            s.disconnect("Someone killed me. Oh noes!")
            sys.exit(0)    
        except:
            print sys.exc_info()[:2]
            print "*** Restarting..."
            
            if nickname != initnickname:
                nickname = initnickname
            else:
                nickname = nickname + "_"
                
            cfg.ircNick = nickname
            time.sleep(10.0)
示例#3
0
def main():
    if len(sys.argv) != 2:
        print "Usage: mybot.py <config>"
        sys.exit(1)
     
    cfg = config.Config(sys.argv[1])
    cfg.read()
    cfg.printValues()
    
    server = cfg.ircServer
    port = cfg.ircPort
    nickname = cfg.ircNick
    initnickname = nickname
    target = cfg.ircChannel
    targetpass = cfg.ircChannelPass
    
    
    while True:
        try:
            r = []
            for i in range(0, len(cfg.gameserverIP)):
                r.append(rcon.rcon(cfg.gameserverIP[i], int(cfg.gameserverPort[i]), cfg.gameserverRcon[i]))
            s = MyBot(target, targetpass, r, cfg)
            print "*** Connecting to %s:%d as %s" % (server, port, nickname)
            s.connect(server, port, nickname)
            time.sleep(1.0)
            s.start()
        except irclib.ServerConnectionError:
            print "Could not connect to server"
        except irclib.ServerNotConnectedError:
            print "Reconnecting in 10 secs"
            time.sleep(10.0)
        except KeyboardInterrupt:
            print "*!* Interrupted by keyboard! Waiting for threads..."
            s.disconnect("Someone killed me. Oh noes!")
            sys.exit(0)    
        except:
            print sys.exc_info()[:2]
            print "*** Restarting..."
            
            if nickname != initnickname:
                nickname = initnickname
            else:
                nickname = nickname + "_"
                
            cfg.ircNick = nickname
            time.sleep(10.0)