[Python] IRCBot

Iniciado por [L]ord [R]NA, 5 Septiembre 2010, 18:39 PM

0 Miembros y 1 Visitante están viendo este tema.

[L]ord [R]NA

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 (python) [Seleccionar]
import socket, time, string

Version = ':RNA PyBot  V1.0Beta\r\n'
while True:
try:MainSock = socket.socket()
except: continue

try:
MainSock.connect(("irc.elhacker.net",6667))
except socket.gaierror:
print "Sin Conexion"
time.sleep(5)
MainSock.close()
continue
time.sleep(10)
MainSock.send("USER RNABOT PYTHON PoC BOT\n")
MainSock.send('Nick RNA_PyBot\n')
MainSock.send("JOIN #elhacker.net\n")

while True:
MainSock.setblocking(0)
try: s = MainSock.recv(1024)
except:
time.sleep(0.1)
MainSock.setblocking(1)
continue

m = string.split(s,":",2)

if m[0]=="PING ":
s = string.replace(s,"I","O")
MainSock.send(s)
continue
else:
nick = string.split(m[1],"!",1)
canal= string.split(s)
print "Canal:"+canal[2]+" "+nick[0]+": "+m[len(m)-1]

if m[len(m)-1] == ".ver\r\n":
if canal[2]=="RNA_PyBot":MainSock.send("PRIVMSG "+ nick[0]+" "+Version )
else: MainSock.send("PRIVMSG "+ canal[2]+" "+Version )
#Aqui se continuaran colocando las funciones... con elif
else: continue

MainSock.close()