elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] IRCBot
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] IRCBot  (Leído 1,795 veces)
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
[Python] IRCBot
« en: 5 Septiembre 2010, 18:39 pm »

Bueno, aqui un ejemplo de un IRCBot en Python... es el codigo que he creado de prueba para el que actualmente estoy realizando, por lo tanto esta un tanto chapucero en lo que se refiere a la seleccion de nick ya que este es fijo y se pueden realizar algunas mejoras mas :¬¬ :¬¬.

Nota: No des criticas constructivas o inconstructivas.

Código
  1. import socket, time, string
  2.  
  3. Version = ':RNA PyBot  V1.0Beta\r\n'
  4. while True:
  5. try:MainSock = socket.socket()
  6. except: continue
  7.  
  8. try:
  9. MainSock.connect(("irc.elhacker.net",6667))
  10. except socket.gaierror:
  11. print "Sin Conexion"
  12. time.sleep(5)
  13. MainSock.close()
  14. continue
  15. time.sleep(10)
  16. MainSock.send("USER RNABOT PYTHON PoC BOT\n")
  17. MainSock.send('Nick RNA_PyBot\n')
  18. MainSock.send("JOIN #elhacker.net\n")
  19.  
  20. while True:
  21. MainSock.setblocking(0)
  22. try: s = MainSock.recv(1024)
  23. except:
  24. time.sleep(0.1)
  25. MainSock.setblocking(1)
  26. continue
  27.  
  28. m = string.split(s,":",2)
  29.  
  30. if m[0]=="PING ":
  31. s = string.replace(s,"I","O")
  32. MainSock.send(s)
  33. continue
  34. else:
  35. nick = string.split(m[1],"!",1)
  36. canal= string.split(s)
  37. print "Canal:"+canal[2]+" "+nick[0]+": "+m[len(m)-1]
  38.  
  39. if m[len(m)-1] == ".ver\r\n":
  40. if canal[2]=="RNA_PyBot":MainSock.send("PRIVMSG "+ nick[0]+" "+Version )
  41. else: MainSock.send("PRIVMSG "+ canal[2]+" "+Version )
  42. #Aqui se continuaran colocando las funciones... con elif
  43. else: continue
  44.  
  45. MainSock.close()


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines