Código: Seleccionar todo

import socket,os,string,sys,linecache,random,time

 

 Definimos variables

 

NICK = "Python_bot"

CLAVE = "Aca_Va_La_Clave_Del_Bot"

IDENT = "blog"

REALNAME = "Un bot compilado en Python"

 

SERVIDOR = "ircchat.terra.cl"

PUERTO = 7000

CANAL = "#bot"

 

COMANDO_PARA_IDENTIFICAR = "PRIVMSG NickServ :identify "+CLAVE

COMANDO_PARA_LOGEARSE = IDENT+" localhost "+SERVIDOR+" :"+REALNAME

 

SALTO = '\r\n'

SALIDA = 0

readbuffer = ""

 

 Definimos funciones

 

def isInt(str): # ¿str es entero?

   try:int(str)

   except ValueError:return 0

   else:return 1

   

def mostrar_salida(s): # Si SALIDA = 1 muestra salidas en consola

   recvd = s.recv(4096)

   if SALIDA == 1:

      print "Recibido: "+recvd

 

def mandar_pong(s): # Con esta funcion respondemos el PONG

   recvd = s.recv(4096)

   recvd = recvd.replace("PING", "PONG")

   s.send(recvd+'\r\n')

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect(('%s' % SERVIDOR,PUERTO))

 

Nos logeamos al servidor

 

s.send('NICK %s\r\n' % NICK)

mostrar_salida(s)

mandar_pong(s)

s.send('USER %s\r\n' % COMANDO_PARA_LOGEARSE)

mostrar_salida(s)

s.send('%s\r\n' % COMANDO_PARA_IDENTIFICAR)

 

 Entramos al canal

 

s.send('JOIN %s\r\n' % CANAL)

mostrar_salida(s)

 

 Procesamos info del servidor

 

while 1:

 

   readbuffer=readbuffer+s.recv(1024)

   temp=string.split(readbuffer, "\n")

   readbuffer=temp.pop()

 

   for line in temp:

      

      line=string.rstrip(line)

      line_list=string.split(line)


      if(line_list[0]=='PING'):

         s.send("PONG %s\r\n" % line_list[1])

      elif(line.find(NICK+ ': saluda') != -1):

         elems = len(line_list)

         if(line_list[elems-1] == 'saluda'):

        s.send("PRIVMSG %s :Hola!\r\n" % CANAL)

     else:

            s.send("PRIVMSG %s :Hola %s\r\n" % (CANAL,line_list[elems-1]))

      if(line.find(NICK+ ': desconectate') != -1):
         salir(line)
tambien estoy en python y se ve mas facil de lo que parece o.O xD no lo habria imaginado porque no sabia que habia sockets en python xDDD me hace falta studiar
//mHmm..
Responder

Volver a “Fuentes”