SupyBot: Como crear un BOT para IRC

Hace pocos dias me puse a la tarea de registrar el canal IRC de la comunidad DragonJAR en freenode, ya que anteriormente  se encontraba en otro servidor el cual solia tener algunos inconvenientes de conectividad. Aprovecho la ocasion para invitarlos a  que ingresen al canal IRC de DragonJAR, para conversar un rato, los datos son los siguientes:

canal: #DragonJAR.org
servidor: irc.freenode.net

Ahore continuemos  con el tema central de esta entrada, al registrar el canal me dio curiosidad y quise hacer algo que desde hace mucho tiempo habia querido hacer y probar: Crear un bot IRC, antes que nada definamos que es un bot irc:

Un bot (abrevitatura de robot) es un programa informático que realiza funciones muy diversas, imitando el comportamiento de un humano. En sitios wiki, como Wikipedia, un bot puede realizar funciones rutinarias de edición. En otros sitios, como Encarta, el bot puede responder a cuestiones sobre el propio contenido del sitio (tcc bots conversacionales).En sitios de chat en línea (IRC o MSN), algunos bots fueron utilizados para simular una persona, intentando hacer creer al “ciberinterlocutor” que chateaban con una persona real.

Me puse a la tarea de buscar(aunque uno mismo puede crear su bot personalizado) un bot, adecuado, sencillo y potente,  y me encontre con supybot,  un bot desarrollado en Python el cual tiene muchas funcionalidades y herramientas, a continuacion voy a dar los pasos que se deben realizar para instalar dicho bot:

  1. Descargamos el bot desde este enlace. y lo descomprimimos
  2. Lo instalamos de la misma forma que instalamos cualquier modulo en python
  3. python setup.py install

  4. Ahora  nos vamos a la carpeta scripts y ejecutamos  un asistente el cual nos guiara creando el archivo de configuracion.
  5. cd  scripts
    python supybot-wizard

  6. Este asistente nos empezara a pregutnar algunas cosas necesarias para configurar nuestro BOT, debemos responder cada una de ellas segun nuestras necesidades. Estas preguntas son:
    1. quieres ver las preguntas en negrita?  -> Responder Y
    2. eres usuario avanzado? -> Por defecto responder N (aunque si quieres puedes ensayar)
    3. donde se encuentra los archivos del bot? -> responder por default .
    4. cual es la red de IRC? -> la red de IRC en mi caso freenode
    5. servidor?  -> la direccion del servidor: irc.freenode.net
    6. requiere de otro puerto no standar? -> Si lo ves necesario
    7. nick del bot? -> Cual sera el nombre del bot
    8. password del nick?  si el nick esta registrado necesita password
    9. canales a conectar?  respondemos Y y en mi caso seria #DragonJAR.org
    10. cargar los plugin idividualmente?  -> NO
    11. owner? Este es el nick quien controlara al bot
    12. caracteres que usara para las ordenes del bot? Y Puede ser @ o | o ! como guste
  7. Lanzamos el bot con el archivo de configuracion que se creo en el paso anterior, generalmente el archivo de configuracion tiene el nombre del archivo con extension .conf:
  8. supybot nombre.conf

  9. Si todo ha salido bien, ya tendremos nuestro bot en el canal de IRC, ahora es necesario entablar una conexion con el bot e identificarnos para poder lanzarle comandos:
  10. /query nombre
    identify nick-quien-controlara-elbot password

  11. Listo ya podremos mandarle muchos comandos a nuestro bot, si quieren ensayar pueden mandarle un ping, y el respondera un pong, este bot tiene muchas funcionalidades, como diccionario, rss,  traductor, mensajes personalizados, y muchos mas… para eso es bueno que lean el manual de cada script y vean como funciona cada uno.
5 Comments