Tecnología

Inicio

Cómo hacer un bot de IRC desde cero en Python

IRC es un programa de chat de texto desarrollado por primera vez en 1988. Mientras que la tecnología informática ha pasado de largo por IRC, existen numerosos servidores IRC con cientos de usuarios de la discusión de temas y compartir información. Una manera en que los usuarios se conectan a IRC es a modo de "bots" que leer el texto de un canal concreto y realizan tareas en función de lo que lee. Un robot puede responder a ciertos mensajes que contengan determinadas palabras clave, o puede simplemente sentarse en silencio y almacenar las conversaciones en el archivo. Una forma de crear un bot de IRC es a través del lenguaje de programación Python, utilizando su biblioteca "socket" para la comunicación de Internet.

Instrucciones

1 Importar la biblioteca de socket y establecer las variables de conexión. Asumiendo que ya ha preferido credenciales de IRC para el robot, el robot de IRC Python usará esas credenciales para iniciar sesión en el uso de la biblioteca "tomas". El siguiente ejemplo muestra cómo diseñar las variables a utilizar para acceder a las credenciales, incluidos los valores para el servidor de IRC, puerto de conexión, y la información del usuario Bot:

! / Usr / bin / python

toma de importación

import string

host = 'example.host.org'

port = 6667

nick = 'pythonbot3000'

ident = 'PyBot'

nombre real = 'Bobby'

leer = ''

2 Use "socket" para conectar con el servidor. Suponiendo que el servidor es "example.host.org," utilizar un objeto socket para establecer la conexión. En este ejemplo, cree el objeto socket, "irc_sock," y lo utilizan para conectarse al servidor y enviar información de acceso:

irc_sock = socket.socket ()

irc_sock.connect (host, puerto)

irc_sock.send ( "Nick" nick + + '\ r \ n')

irc_sock.send ( "usuario" + ident + '' + alojamiento + 'bla:' + nombre real + 'n')

3 Conectarse a un canal y la lectura del texto. Si usted quiere tener el bot Envíe el "ejemplo", a continuación, utilizar el método de "encontrar" una cadena de recogida del servidor IRC para comprobar el estado de conexión. Unirse a un canal y comenzar mensajes de lectura y de impresión, tal como se ilustra en el siguiente código:

mientras que 1: // bucle infinito para mantener la recolección de texto

leer = irc_sock.recv (500) // obtiene línea de texto

imprimir leer // imprime

si read.find ( 'Generic Introducción Mensaje') = -1: // si el mensaje de introducción del servidor, unirse a un canal

irc_sock.send ( 'JOIN' + ejemplo + '\ r \ n')