Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: daryo en 28 Abril 2013, 01:32 am



Título: [python]bot para chatango
Publicado por: daryo en 28 Abril 2013, 01:32 am
no se cuantos conozcan aca los chats de chatango , es como una especie de irc pero en flash en fin aca un bot que lo ire modificando

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
  1. import ch
  2. import time
  3. import random
  4. import re,os
  5. import subprocess
  6.  
  7. class TestBot(ch.RoomManager):
  8.  def onConnect(self, room):
  9.    print("Connected")
  10.    cerrar=False
  11.    self.cerrar=cerrar
  12.    self.log=open("logschat.txt","a")
  13.  
  14.  
  15.  def onReconnect(self, room):
  16.    print("Reconnected")
  17.  
  18.  def onDisconnect(self, room):
  19.    print("Disconnected")
  20.  
  21.  def onMessage(self, room, user, message):
  22.  
  23.    print(user.name+":"+message.body)
  24.    self.log.write(user.name+":"+message.body+"\n")
  25.    #asi divido los mensajes en palabras util para comandos
  26.    n=message.body.split(" ")
  27.    #---------------------------------------------------------
  28.    #if message.body.startswith("!a"): # podria servir :D
  29.    if message.body.startswith("!creador"):
  30.      room.message("mi creador es daryo")
  31.    if(message.getBody() == "!hora"):
  32.      da = time.time()
  33.      room.message(time.asctime(time.localtime(da)))
  34.  
  35.    if(message.getBody() == "!drusus"):
  36.      room.message("no pondre este mensaje aca :P")
  37.    try:
  38.     if(n[0]=="!frase" and n[1]!="!frase"):
  39.      # aca borro el comando
  40.       del n[0]
  41.       #---------------------
  42.       frase=" ".join(n)
  43.       #y uno a frase
  44.       room.message(frase)
  45.    except:
  46.       pass
  47.    if (message.getBody() == "!cmds"):
  48.      room.message("esto es un cmds temporal : !log ,!flag ,!hora , !frase , !cmds, !creador, !bye y comando(comando solo para daryo),!dado")
  49.  
  50. # cerrado con despido----------------------------------------------------      
  51.    if (user.name=="daryo" and message.getBody() == "!bye"):
  52.      self.log.close()
  53.      room.message("adios")
  54.      self.cerrar=True
  55.  
  56.    if(user.name=="nombre_del_bot" and message.getBody() == "adios" and cerrar):
  57.        pm.disconect()
  58.  
  59.    elif (user.name!="daryo" and message.getBody() == "!bye"):
  60.      room.message("no tienes los permisos para cerrarme :@")
  61. #-------------------------------------------------------
  62.    try:
  63.     if(n[0]=="!flag" and n[1]!="!flag"):
  64.       room.flagUser(n[1])
  65.       room.message("flageado "+n[1])
  66.    except:
  67.      pass
  68.  
  69.    if(message.getBody() == "!dado"):
  70.      room.message("sacaste: "+ str(random.randrange(1, 7)))
  71.  
  72. # hay que cambiar muchas cosas de la python 2.0  la idea des que lea los post nuevos
  73.    if(message.getBody() == "!CPH"):
  74.      room.message("en un futuro se podra hacer esto :(")
  75. #_------------------
  76. # 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
  77.    if(message.getBody() == "!log"):
  78.      self.log.close()
  79.      room.message("guardando log "+ "http://dominio.org/logschat.txt")
  80.      self.log=open("logschat.txt","a")
  81.    try:
  82.     if(n[0] == "!comando" and n[1] != "!comando" and user.name=="daryo"): #ejecutar comandos en mi pc
  83.       del n[0]
  84.       n=" ".join(n)
  85.       print (n)
  86.       n=n+ ">comando.txt"
  87.       os.system(n)
  88.       room.message("comando ejectuado "+ "http://dominio.org/comando.txt")
  89.       print(ver)
  90.     elif(n[0] == "!comando" and n[1] != "!comando" and user.name!="daryo"):
  91.       room.message("no tienes permiso para ejecutar comandos en mi pc :@+70")
  92.    except:
  93.      pass
  94.  
  95. #------------------------------------------------------------------------
  96.  
  97.  
  98.  def onFloodWarning(self, room):
  99.    room.reconnect()
  100.  
  101.  def onPMMessage(self, pm, user, body):
  102.    pm.message(user, body) # echo
  103.  
  104. if __name__ == "__main__":
  105.  TestBot.easy_start()
  106.  


Título: Re: [python]bot para chatango
Publicado por: benjamin dragneel en 13 Febrero 2015, 22:42 pm
oye como hago para crear el  bot ??