Bots

¿Qué es un bot de IRC?
Un bot es un programa que está en un canal de IRC todo el tiempo (o la mayoría de este, dependiendo del tipo de bot), administrándolo (o manteniéndolo) las 24 horas del día, los 7 días de la semana, e inclusive los 365 días del año (aunque se lea increíble, lo puede llegar a ser). Permanece en el canal justo como un usuario normal, pero es por lo general silencioso o está “idle” hasta que lo estimulen a realizar una función particular. Un bot puede contribuir enormemente a la estabilidad de un canal por protegerlo de drones y abusadores, y proporcionando un manejo adecuado de la lista de ops del canal, otorgándole privilegios de operadores a aquellos usuarios que se encuentren agregados al mismo, cuando estos entren al canal.
Un bot también puede realizar muchas otras funciones útiles, como el detener acontecimientos en un canal (kickear, banear, poner modos de canal, etc), suministrar información solicitada con frecuencia (ultima vez vista de un nick en un canal, información en buscadores, e incluso noticias en Twitter), etc. Los bots son en particular importante sobre todo en redes de IRC sin servicios de registro de canal como lo es EFnet, y sobre las redes que pueden prevenir su canal siendo registrado debido a ciertas exigencias de registro, como Undernet. Sobre estas redes, cuidar un canal sin una especie de bot a menudo sería imposible. Y aunque existe el servicio de Chanfix es muy bueno tener siempre un bot personal que cuide el canal mientras este no sea registrado.
La mejor manera de definir a un bot en IRC es la siguiente:
Imagínese que usted está en el IRC y se mantiene permanentemente conectado, pero como usuario no intervienes para nada, sino que un programa (en este caso manejaremos mIRC) es el que se encarga de realizar ciertas acciones automatizadas, previamente dadas o configuradas al programa. Ese programa responde a acciones que hacen los demás, aunque es obvio que un bot nunca podrá sostener una conversación inteligente con alguien (aunque así pueda parecer en algunos casos), ya que hablamos de bots instruidos, no con “Inteligencia Artificial”, pero sí con la capacidad por ejemplo, de dar saludos automatizados, dar op a quien lo solicite, cuidar el canal, entre otro tipo de acciones. Bueno pues eso es un bot, una especie de programa automatizado capaz de responder de forma automática (valga la redundancia) a ciertas acciones.
Existen, de acuerdo a su finalidad y características diversos tipos de bots que más adelante analizaremos.

¿Para qué nos sirve un bot?
Los bots se suelen emplear para mantener siempre abierto un canal registrado. Al igual que la mayoría de las cosas creadas por el hombre, el bot fue creado para hacerle el trabajo más fácil a un usuario del IRC.
Como mencionamos antes, los bots se usan más comúnmente para proteger, ya sea canales o usuarios, de ataques como lo son el flood, los nukes, el spam, etc. Por ejemplo un bot (de acuerdo a su configuración) puede detectar quien está escribiendo demasiadas líneas en un corto periodo de tiempo, o repitiendo las mismas líneas, es decir inundando con textos un canal, entonces el bot lo que hace inmediatamente es sacar a esa persona del canal, es decir ponerle ban. Los mismo pasa si una persona está enviando spam, el bot lo puede detectar y automáticamente banear a esa persona.
La lista de cosas que puede hacer un bot es innumerable: administrar un canal, detectar clones, drones, el uso de palabras consideradas prohibidas, jugar a trivia, postear noticias, llevar estadísticas de un canal, e incluso interactuar con los usuarios como un usuario normal.

¿Qué es la X?
Desde 1995 un dedicado grupo de voluntarios se han dedicado a traer la X a muchos miles de usuarios de la Undernet.
X es el Bot Oficial de Servicio de Undernet escrito por SeKs. Puedes encontrar una copia del código usado para la X en: http://gnuworld.sourceforge.net/
Se asigna uno de éstos a cada canal registrado.
Para cada canal, estos bots mantienen un userlist que especifica quién tiene qué cantidad de acceso y quién debe ser subido a op y un lbanlist que especifica a quién prohibió (ban) del canal (o de conseguir el ops), y para cuánto tiempo.
Este bot está diseñado para guardar un canal las 24 horas del día y prevenir los takeovers.
Debemos entender que la X es un bot programado en un lenguaje de alto nivel que es el C++ y se encuentra en muchísimos canales por lo que debe estar hospedado en un servidor muy potente para que no esta lageado. Gracias a la X tenemos nuestros canales estables, ya que ésta se encarga de reconocer usuarios, reconocer el acceso que tienen en diferentes canales, saber si el usuario está suspendido, si tiene un e-mail inválido, darle op, voice, poner un ban, dar un kick, mostrar una lista de bans etc., ya de por si todo esto es un gran mérito, ahora imagínense hacer esto con tantos usuarios. En Cservice existen cientos de miles de usuarios registrados, así que usted se puede imaginar el trabajo que tiene la X.
Los comandos de la X los puedes encontrar en este enlace.

¿Cuántos tipos de bots existen?
En realidad no les podría decir: “existen tantos tipos de bots” ya que cada día un nuevo tipo de bot puede salir a la luz, o un bot existente puede ser innovado. El que existan muchos tipos de bots depende de la imaginación del programador que los crea, y la necesidad con la cuál se quiera cubrir el uso del bot.
Aquí exponemos información de los más importantes. Desde como crearlos y configurarlos.
De la amplia gama de bots existentes, estos son los más usados en IRC:
  • mIRCbot
  • Eggdrop
  • Windrop
  • Darkbot
  • y otros…