Botube2: Un Bot para IRC

Introducción

botube2

El IRC... principio y fin de la red... donde se gestan las grandes ideas
y comunidades de hackers y usuarios con inquietudes tecnológicas se
reunen para charlar en grupo, como hace más de 15 años, cuando
surgió Arpanet...

Con esa idea romántica de la red, y sin querer llegar al gran público,
si no a unos pocos, me decidí a desarrollar un Bot para IRC, que en
un futuro espero que tenga funcionalidades avanzadas y mejore la
funcionalidad de nuestro querido servicio de IRC, siempre disponible,
siempre con muchos expertos dispuestos a colaborar y compartir ideas.

Funcionalidades

De momento, las funcionalidades son éstas:


  • !set gmt – Es un parámetro configurable que nos permitirá poner la
    zona horaria de nuestra preferencia, de forma que al consultar algo,
    la fecha y hora corresponda a nuestra ubicación

    setgmt

  • !last – Muestra la hora de la última actividad del nick seleccionado,
    útil para saber cuándo estuvo dicho nick por la red de IRC en el
    canal del bot

    last

  • !search – Damos como parámetros fecha/hora desde la que queremos
    consultar la charla del canal hasta fecha/hora de final y añadimos
    una expresión regular o bien una cadena de texto que queremos
    buscar en las conversaciones. Nos mostrará precedido de la hora y
    zona horaria, el/los nick/s y comentario/s que hizo tal o cual
    usuario.

    search

  • !stats seguido de fecha de inicio a fecha final y numero de nicks, muestra
    las estadísticas de uso del canal por los usuarios que participaron
    de él.

    >stats

  • die! - Dicho por el administrador del bot, permitirá cerrar la conexión
    del bot y la finalización del programa.

  • Por ultimo, si ponemos una URL en el canal, el bot nos dirá el título
    de la página en cuestión.

    url

  • Saluda al nick que entra en el canal, con un mensaje predefinido por
    nosotros. Podemos poner reglas o el saludo que queramos.

En un futuro, tengo pensadas funcionalidades avanzadas para el bot,
seguid pendientes y espero que lo useis.

Donde descargarlo :

El bot está alojado en sourceforge: https://sourceforge.net/projects/botube2/

Configuración

Si decidís usarlo, antes de lanzarlo para probar los comandos, debereis
configurarlo correctamente. A continuación os diré como:


  1. Lanzad mysql para que ejecute las instrucciones alojadas en el archivo
    database.sql
    $ mysql -u root -p -h 127.0.0.1 < database.sql

    Previamente debereis tener el servidor de mysql corriendo y configurado
    correctamente, escuchando en la ip 127.0.0.1 (bucle local o
    localhost)


  2. Deberemos instalar de nuestro repositorio de la distro que usemos la librería
    python-mysqldb, o sea, la biblioteca para python que nos permitirá a través del
    bot, utilizar el servidor MySQL


  3. Deberemos editar el archivo config.py de la siguiente manera:
    #------------------------8<-------------------------8<---------------------

    NICK= "BotNick" # El nick elegido por nosotros con el que el bot se identificará

    PASS= "" # Si procede, password para el nick del bot

    ADMNICK="YourNick"# Este es nuestro nick, administraremos el bot con él desde un
    cliente de IRC, ésto es aplicable al comando die! unicamente

    SERVER= "your.irc.server.net" # Esta es la IP o dns (la dirección del servidor de irc que escojamos)

    PORT= 6667 # puerto de la red de IRC

    CHANNEL= "#yourchannel" # El canal al que el bot dará servicio

    EXITAUTOCHANNEL=""# Si al acceder al IRC con un cliente, entramos a un canal no
    deseado, podremos salir de él automáticamente si lo ponemos en éste parámetro

    LOGDIR= ""

    LINESLEEPSECS=1.7 # Tiempo de espera entre el envío de una línea y la siguiente en los resultados de !search, para no floodear el servidor y que éste nos desconecte

    MYSQLRESTARTMINS=5 # reinicio del servidor MySQL cada X minutos, para no encontrarnos
    con un error en la conexión a MySQL, que terminaría el bot con un
    error

    SALUTE=True # Saluda al entrar al canal un nick valores: True o False, (si o no)

    SSALUTE="Bienvenido a %s, %%s, espero que tu estancia en el canal sea placentera" % (CHANNEL)

    # Saludo en nuestro idioma y preferencias

    DEBUG=True

    # Valido para tracear el bot únicamente. Puesto a False, desactiva
    la salida

    PROXY=""

    # Si para salir a internet tenemos un proxy web, lo pondremos aquí,
    para más rápido acceso a ésta. El formato es ip:puerto entre
    comillas

    #-hasta aqui---------------8<-------------------------8<---------------------


Salvamos el archivo con nuestra configuración y procedemos a lanzar el bot:
Desde consola, lanzamos...

$ ./botube2.py

El bot se conectará a la red de IRC y se unirá al canal que elegimos anteriormente.

En éste punto ya debería estar el bot funcionando y dando servicio a
nuestro canal de IRC favorito.

Por cierto, por ahora, solo hay versión para Linux, quizá en un futuro,
Windows esté en mis planes, pero de momento, ésto es lo que hay.

Sentiros libres de postear en sourceforge, en la web del bot, para
sugerencias, comentarios, bugs y todo lo que se os ocurra.

Gracias por la lectura y … nos vemos en el IRC.

https://sourceforge.net/projects/botube2/

Tags: 

Comentarios

Version para Windows

Si haces la version para Windows quisiera participar en beta tester. No tengo Linux al momento por falta de fondos para montar una PC con Linux me faltan varias cosas importantes que adquirir. Gracias por la invitacion

Saludos desde Puerto Rico
Dilsia

Añadir nuevo comentario