talves se vea algo desorganizado cosa que arreglare en futuras versiones para que sea mas claro
ch.py
http://pastebin.com/4XkVcsAE
el bot en si:
Código
import ch import time import random import re,os import subprocess class TestBot(ch.RoomManager): def onConnect(self, room): print("Connected") cerrar=False self.cerrar=cerrar self.log=open("logschat.txt","a") def onReconnect(self, room): print("Reconnected") def onDisconnect(self, room): print("Disconnected") def onMessage(self, room, user, message): print(user.name+":"+message.body) self.log.write(user.name+":"+message.body+"\n") #asi divido los mensajes en palabras util para comandos n=message.body.split(" ") #--------------------------------------------------------- #if message.body.startswith("!a"): # podria servir :D if message.body.startswith("!creador"): room.message("mi creador es daryo") if(message.getBody() == "!hora"): da = time.time() room.message(time.asctime(time.localtime(da))) if(message.getBody() == "!drusus"): room.message("no pondre este mensaje aca :P") try: if(n[0]=="!frase" and n[1]!="!frase"): # aca borro el comando del n[0] #--------------------- frase=" ".join(n) #y uno a frase room.message(frase) except: pass if (message.getBody() == "!cmds"): room.message("esto es un cmds temporal : !log ,!flag ,!hora , !frase , !cmds, !creador, !bye y comando(comando solo para daryo),!dado") # cerrado con despido---------------------------------------------------- if (user.name=="daryo" and message.getBody() == "!bye"): self.log.close() room.message("adios") self.cerrar=True if(user.name=="nombre_del_bot" and message.getBody() == "adios" and cerrar): pm.disconect() elif (user.name!="daryo" and message.getBody() == "!bye"): room.message("no tienes los permisos para cerrarme :@") #------------------------------------------------------- try: if(n[0]=="!flag" and n[1]!="!flag"): room.flagUser(n[1]) room.message("flageado "+n[1]) except: pass if(message.getBody() == "!dado"): room.message("sacaste: "+ str(random.randrange(1, 7))) # hay que cambiar muchas cosas de la python 2.0 la idea des que lea los post nuevos if(message.getBody() == "!CPH"): room.message("en un futuro se podra hacer esto :(") #_------------------ # estos dos comandos se guardan en una carpeta de un servidor web por eso el enlace en un futuro los subira por ftp a un hosting if(message.getBody() == "!log"): self.log.close() room.message("guardando log "+ "http://dominio.org/logschat.txt") self.log=open("logschat.txt","a") try: if(n[0] == "!comando" and n[1] != "!comando" and user.name=="daryo"): #ejecutar comandos en mi pc del n[0] n=" ".join(n) print (n) n=n+ ">comando.txt" os.system(n) room.message("comando ejectuado "+ "http://dominio.org/comando.txt") print(ver) elif(n[0] == "!comando" and n[1] != "!comando" and user.name!="daryo"): room.message("no tienes permiso para ejecutar comandos en mi pc :@+70") except: pass #------------------------------------------------------------------------ def onFloodWarning(self, room): room.reconnect() def onPMMessage(self, pm, user, body): pm.message(user, body) # echo if __name__ == "__main__": TestBot.easy_start()