Friday, April 5, 2019

Python IRC Bot – Un tutorial práctico con ejemplos

En este tutorial, aprenderás a usar Python 3 para crear un bot IRC. IRC es un acrónimo de Internet Relay Chat, que es una forma popular de comunicación para enviar mensajes de texto a través de la red.

¿Cómo usar Python para crear un bot IRC?

 Python IRC Bot Client

¿Qué es un IRC? Bot?

Un bot es un asistente virtual que emula a un usuario real para proporcionar respuestas instantáneas. IRC bot es un tipo de cliente de red que puede ser un script o un programa que puede retransmitir mensajes usando el protocolo IRC.

Cuando un usuario activo recibe un texto del bot IRC, se le presenta como otro usuario real. [19659007] ¿Qué puede hacer un Bot?

Los bots imitan a un usuario real y se comunican con otros clientes activos. Sin embargo, pueden realizar una variedad de tareas:

  • Archivar mensajes de chat
  • Se pueden analizar feeds de Twitter
  • Rastrear la web para una palabra clave
  • Ejecutar cualquier comando si es necesario.

Cómo implementar el IRC en Python ?

Para esto, necesitaremos un programa Python que cree un socket de cliente para conectarse al servidor IRC. El servidor IRC realiza una verificación simple y se conecta sin mucha molestia.

La secuencia de comandos utiliza la biblioteca de sockets Python para permitir la comunicación de la red. Verifique el código de muestra a continuación.

 importar socket

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

El protocolo IRC es solo una capa sobre el protocolo IP y funciona sobre la pila TCP / IP.

Necesitaremos nuestro programa para intercambiar lo siguiente conjunto de comandos.

 ** Autenticación **** USUARIO botname botname botname: text
                      NICK botname
                      NICKSERV IDENTIFICAR botnickpass botpass
** Unirse al canal **** UNIR 

Código fuente del bot

Archivo de clase:

Primero, debe crear una clase de bot IRC. Copie el siguiente código y péguelo en un archivo y guárdelo como irc_class.py.

 import socket
sistemas de importación
tiempo de importación

clase IRC:
 
    irc = socket.socket ()
  
    def __init __ (self):
        # Definir el zócalo
        self.irc = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
 
    def enviar (auto, canal, msg):
        # Transferir datos
        self.irc.send (bytes ("PRIVMSG" + canal + "" + msg + " n", "UTF-8"))
 
    def connect (auto, servidor, puerto, canal, botnick, botpass, botnickpass):
        # Conectarse al servidor
        imprimir ("Conectando a:" + servidor)
        self.irc.connect ((servidor, puerto))

        # Realizar autenticación de usuario
        self.irc.send (bytes ("USUARIO" + botnick + "" + botnick + "" + botnick + ": python  n", "UTF-8"))
        self.irc.send (bytes ("NICK" + botnick + " n", "UTF-8"))
        self.irc.send (bytes ("NICKSERV IDENTIFY" + botnickpass + "" + botpass + " n", "UTF-8"))
        time.sleep (5)

        # únete al canal
        self.irc.send (bytes ("UNIR" + canal + " n", "UTF-8"))
 
    def get_response (self):
        time.sleep (1)
        # Obtener la respuesta
        resp = self.irc.recv (2040) .decode ("UTF-8")
 
        si resp.find ('PING')! = -1:
            self.irc.send (bytes ('PONG' + resp.split (). decode ("UTF-8") [1] + ' r  n', "UTF-8"))
 
        return resp 

Después de crear la clase de comunicación de red, importaremos t en nuestro cliente y utilizaremos su instancia. Estamos diseñando un cliente de demostración para que lo entiendas fácilmente.

Nuestro bot enviará el mensaje "¡Hola!" Mientras responde a un mensaje de "Hola" en el canal.

Guión del cliente:

Debajo del Programa Python IRC Bot para iniciar la comunicación con el cliente. Cree un nuevo archivo, copie el código, péguelo y guárdelo como irc_bot.py.

El servidor IRC generalmente se ejecuta en puertos como 6667 o 6697 (IRC con SSL). Por lo tanto, usaremos “6667” en nuestra muestra. Además, deberá proporcionar una dirección IP del servidor IRC o un nombre de host válidos para que este programa se ejecute correctamente.

 from irc_class import *
importación os
importar al azar

## Config de IRC
server = "10.x.x.10" # Proporcionar un IP / nombre de host del servidor válido
puerto = 6697
channel = "#python"
botnick = "techbeamers"
botnickpass = "guido"
botpass = "<%= @guido_password %>"
irc = IRC ()
irc.connect (servidor, puerto, canal, botnick, botpass, botnickpass)

mientras que True
    texto = irc.get_response ()
    imprimir (texto)
 
    si "PRIVMSG" en texto y canal en texto y "hola" en texto:
        irc.send (canal, "Hello!") 

Ten en cuenta que puedes ejecutar el programa anterior usando el siguiente comando:

 python irc_bot.py 

Hope, el tutorial anterior podría ayudarte a construir un complejo IRC bot con más funciones y uso.

Si deseas aprender la programación de Python desde cero, lee este Tutorial de Python .


READ MORE – CLICK HERE

www.Down.co.ve


No comments:

Post a Comment

Como crear tarjetas Virtuales Visa o MasterCard con tu divisa y las ventajas que ofrecen

Hoy día, gracias al creciente mundo del Internet se le ha permitido a cada persona poder acceder a muchos productos o servicios. Y en estos ...