Argobot
Última Actualización:
17 de Julio de 1998
ArgoBot es un pequeño programa escrito en C cuyo
primer y principal objetivo era la distribución de
líneas K respondiendo a las líneas G y
Kills de Theilax.
La versión actual es la 2.82. Los lectores no familiarizados
con él deberían leer las explicaciones siguientes
con mucha atención:
Instalación y configuración de un servidor de IRC
Documentación en castellano. Incluye documentación sobre ARGOBOT.
Su funcionamiento es el siguiente:
- El bot se instala en aquellos servidores que lo crean de interés.
Consume muy poca memoria y recursos del sistema.
- Es necesario abrir una cuenta IRCOP nueva en el servidor de IRC. Dado
que lo normal será que el bot se ejecute en la misma
máquina que el servidor, puede restringirse el dominio a
irc.servidor.es, o lo que sea apropiado.
- Se edita el fichero argobot.c para adecuarlo a las
características de
cada sistema: nombre del bot, claves de acceso, mensajes de Away, etc.
- Se compila argobot.c con el gcc.
- Se ejecuta con ./argobot.
Los pasos que da el bot son:
- Conectarse al servidor con un nick aleatorio de ocho caracteres, para
reducir el riesgo de nick collide.
- Pasa a modo IRCOP.
- Envía un kill a cualquier posible usuario que estuviese
entrando con el nick "oficial" del bot. Yo he llamado
"argobot" al mío. Sugiero que
el resto de los servidores empleen una nomenclatura semejante para
facilitar su identificación.
- Entra en el canal #opers. No es necesario en absoluto, pero he
preferido hacerlo así para tener un punto de encuentro de todos ellos y
saber quienes lo están corriendo. En el futuro se puede buscar otra
fórmula más apropiada.
- Copia el fichero "ircd.conf.real" (que es el
"ircd.conf" de toda la
vida) en "ircd.conf". El posible fichero viejo
"ircd.conf" se
salvaguarda en "ircd.conf.old".
- Manda un /rehash al servidor.
- Pone una frase "away" con algunos datos de
interés y forma de contacto.
Estos son los pasos preparatorios. Seguidamente el programa se
limita a poner la oreja y prestar atención a lo que le llega:
- Si se le hace un kill, vuelve a entrar otra vez.
- Si ocurre cualquier error, debería volver a entrar (esperemos...)
- Si se le kickea vuelve a entrar otra vez, si puede.
El bot de Argo puede siempre, por el tema de
/oper # GOD :)).
- Cuando ve que theilax.arrakis.es hace un
kill a alguien, ordena un
/whowas de ese nick y cuenta cuántos intentos de
acceso se han producido
en los últimos minutos. Si supera un umbral programable, y
todavía no le
hemos puesto una k-line, le pone una k-line temporal
por un tiempo
programable (por defecto, una hora). En la línea K
se indica la hora de
desactivación de la misma, con fines de depuración y
para tranquilizar a
los usuarios. Esa línea se graba en el "ircd.conf" y se
manda un nuevo /rehash al servidor.
- Cada hora (con la configuración actual) se restaura la
configuració de "ircd.conf.real" y se hace otro
/rehash. Con ello se dan de baja las líneas K
que se hayan instalado a partir de los notices de theilax.
Para evitar saturar al servidor con extensos /whowas
he limitado la actualización de los datos a 30 segundos entre
reintentos... El único problema que puede ocasionar esto es que si
hay un nick que intenta entrar con mucha frecuencia y otro con mucha menos
(pero que también supere el umbral prefijado), es mucho más
probable que pille el más frecuente como víctima... lo ideal,
si no lo tiene ya en una línea K. Si ya la tiene, el bot se da
cuenta de ello sólo tras el /whowas, y lo ignora otros 30 segundos.
Aunque dudo que ello sea un problema, es causado porque NO
TODOS los servidores implementan el bot. Si lo hiciesen
eliminarían juntos al nick
que entra con más frecuencia y, en los 30 segundos siguientes, los
únicos accesos serían los del nick "lento", por lo que lo
pillarían sin problemas.
Por todo lo dicho creo que el bot es bastante interesante y debería
instalarse en el mayor número de servidores posible, aunque sólo sea
para ahorrar ancho de banda y paciencia a los IRCops que tienen los
modos "WS" activados permanentemente (como es mi caso y el
de algunos otros). Los que más se beneficiarían de ello
son los servidores que soportan muchos accesos fallidos de bots, como son
arrakis, jet y encomix.
El bot no responde a comandos ni a los ping para evitar que se abuse del
flooding. En el futuro ya se verá qué hacemos...
Si alguien quiere saber la pinta de las líneas k generadas, que haga un
/stats k irc.argo.es.
Versión 1 del Argobot
Verificación de fichero:
MD5: 47adc9f44efc33f73362ef2c7ee8edf2
SHA-1: 266116c88a1c6d4f8df7934d30f852ba0df38738
La versión 2 del Argobot (actualmente 2.82) incorpora
las siguientes mejoras respecto a la versión anterior:
- Puede ejecutarse el mismo código en Windows 95/NT y UNIX, sin modificación alguna.
- Uso de un fichero de configuración
- Bot multicanal capaz de:
- Proteger los modos de un canal
- Dar y quitar op mediante mensajes
- Posibilidad de envío de "notices"
cuando un usuario entra en el canal
- Protección contra bans abusivos
- Permite invitar a un usuario a un canal en modo +i
- Quita todos los bans de un canal mediante un comando
- Hasta 100 usuarios registrados (total), 10 canales simultaneos y
25 usuarios registrados por canal (configurable)
- Posibilidad de Autoop mediante máscara
- Posibilidad de log de cada canal, de forma independiente
y configurable
- Control de acceso y configuración de modos y
permisos independiente para cada canal
- Utilizar el registro de nicks de ESNET
- Acceder a redes que exigen claves
- Controlar canales locales
- Mantener abiertos canales sin modos (IRCu 2.10.04 y superiores)
- Logs detallados de todos los comandos enviados al bot
- La propagación de líneas K mediante los
kills de Theilax, principal motivación de la
versión 1 del bot, se ha hecho opcional. De esta forma el
Argobot ni toca los ficheros de configuración del
ircd ni interfiere con la propagación de las
nuevas Líneas G por parte de Theilax
- Reconfiguración del bot sin interrumpir su
funcionamiento
- Posibilidad de ejecutar hasta 50 comandos con
periodicidad arbitraria (configurable)
- Uso de las facilidades proporcionadas en servers
modificados: Join GOD y Mode X
- Si le es posible, se autoinstala como Channel Service
- COMANDOS
La sintaxis de los comandos es la siguiente:
- /msg _argobot <clave> <comando> <canal> {nick}
<clave> | es la clave asignada al usuario |
<comando> | uno de los siguientes comandos:
op | Pasa el OP al usuario nick en el canal <canal> |
deop | Quita el OP al usuario nick en el canal <canal> |
invite | Invita al usuario nick al canal <canal> |
unban | Quita todos los ban en el canal <canal> |
|
<canal> | Canal sobre el que se desea efectuar el comando.
Sólo funcionará si el Argobot es OP en dicho canal |
{nick} | Nick del usuario sobre el cual hacer
op, deop o invite. Con el unban es innecesario. |
Cualquier comando desconocido o con sintaxis o
clave errónea será ignorado.
El usuario debe asegurarse de que el nick "_ArgoBot"
se corresponde al bot.
Para ello debe validar que dicho nick tiene privilegios de IRCop. En
caso de no verificarse eso deben informar enseguida a un IRCop, ya que
puede tratarse de un nick spoofing.
Las claves de acceso se cambiarán
de forma periódica. Se ruega un buen
uso de las mismas. Recuerden que las claves son personales
y no deben comunicarse a nadie.
- MODOS DE LOS CANALES
La mayoría de los canales que mantiene el ARGOBOT
están protegidos para
evitar que un desaprensivo los deje en modo invitación, con clave,
moderados, etc. La configuración puede cambiarse canal por
canal, pero los valores por defecto son:
- Modos forzados: tn
- Modos no permitidos: iklmps
- Modos libres: Se permite pasar op y poner bans
Esta configuración puede modificarse a
petición de los usuarios.
- BANs
En general el bot permite el empleo de kicks y bans libremente. En caso
de takeover se puede recurrir a los comandos
deop y unban. No
obstante el Argobot no permitirá que se baneen dominios enteros. En
concreto, no se admitirá ningún ban cuyo
dominio contenga comodines. De
esta forma se evitan baneos del tipo *!*@*.argo.es o, peor aún,
*!*@*. Cualquier baneo de ese tipo será eliminado.
A partir de la versión 2.50, el control de BANs se ha hecho
configurable canal por canal mediante el empleo de la palabra clave
"allow_any_ban".
- LOGS
En general no se mantendrán logs detallados de las
conversaciones de
todos los canales. No obstante el argobot permite hacerlo, por lo que
esta funcionalidad queda a disposición de aquellos usuarios que
así lo
demanden (por ejemplo, canales de tutoriales o mesas redondas).
En caso de compromiso de clave o si se detecta un funcionamiento
erróneo del Argobot, se ruega se avise lo antes posible a
jcea@argo.es,
incluyendo información lo más detallada y
completa posible sobre el caso.
Sugerencias son bienvenidas.
Una instalación típica consta de los
siguientes ficheros:
- argobot.c: Fichero principal
- argo_parser.c: Fichero para la lectura del
fichero de configuración
- argobot.conf: Fichero de configuración
- argobot.log: Log de comandos enviados al bot
Adicionalmente, si se va a utilizar la propagación
de líneas K será necesario copiar el fichero
ircd.conf en otro llamado ircd.conf.real, por
las razones explicadas para la
versión 1.
El programa puede residir en cualquier directorio y
bajo cualquier UID, pero si se propagan líneas K
deberá estar en el mismo directorio que el
ircd.conf y tener privilegios de escritura sobre
él.
Gracias a Juan José Sánchez Mesa por la siguiente información para NT:
En principio, es posible compilar con cualquier compilador que soporte
Win32 y generar ejecutable en modo consola. Se recomienda MS-Visual C++ 4.2/5.0 o Borland C++ Builder.
Para compilar se debe crear un proyecto para generar una aplicación de consola en Win32. Incluir los ficheros fuente argobot.c y argo_parser.c. Además debe incluirse la librería Winsock de 32bits (wsock32.lib). Y compilando normal, se debe obtener el ejecutable correcto.
Recomendaciones:
- Esta aplicación se puede instalar como un servicio, usando el programa SRVANY que viene con el Kit de Recursos de Windows NT, para así poder ejecutarse aún cuando se cambie de usuario.
- Ejecutarlo como Administrador y cambiar los derechos de los ficheros a sólo el Administrador.
|
A partir de la versión 2.40, el Argobot
hace un Chroot, un SetUID y un SetGID, si así se le
indica:
- Si ejecutamos el Argobot como Root: (Recomendado)
- Definimos el símbolo "SEGURIDAD"
en el código fuente.
- Damos a los símbolos "UID" y
"GID" los valores que elijamos.
- Si queremos hacer un CHROOT, indicamos el
directorio al cual movernos. En caso contrario especificamos
"/".
Lo primero que hace el bot es el CHROOT, seguido
del SetGID y del SetUID. De esta forma se reducen
considerablemente los riesgos en caso de compromiso
de seguridad.
- Si NO ejecutamos el Argobot como Root:
- Hacemos un "#undef SEGURIDAD"
-
A partir de la versión 2.50, se pueden definir
los símbolos CONTROL_FOOD y VERBOSE:
- Si deseamos ver todo lo que el servidor envía
al Argobot, hacemos un "#define VERBOSE".
- Si el nodo al que conectamos tiene
el parche CSF (Channel Service No Flood)
instalado, hacemos un "#undef CONTROL_FLOOD".
Para compilar el programa basta teclear las siguientes
líneas.
- Solaris:
- gcc -Wall -g argobot.c -lsocket -lnsl -o argobot
chown root argobot
chgrp root argobot
- Linux / FreeBSD / NetBSD:
- gcc -Wall -g argobot.c -o argobot
chown root argobot
chgrp root argobot
- System V: (cortesía de
Pedro Beneitez - beneitez@coventry.ac.uk)
- cc -g argobot.c -o argobot
chown root argobot
chgrp root argobot
- Otros sistemas operativos:
- (en construcción)
Otras consideraciones:
- No es necesario que el propietario/grupo
del argobot sea root, aunque se recomienda que
el UID especificado en "SEGURIDAD"
no tenga privilegios de lectura sobre el ejecutable.
- Los parámetros concretos que se pasan
al compilador dependen del compilador y del sistema.
- Si no somos root, cambia el "#define SEGURIDAD"
de principio del código por un "#undef SEGURIDAD".
No es necesario tomar también el fichero
argo_parser.c porque se incluye
automáticamente.
El siguiente paso consiste en la creación de
una cuenta de IRCop en el nodo IRC al que se
vaya a conectar. Las razones de
ello se vieron con anterioridad.
Por fin, el último paso consiste editar el
fichero de configuración para ajustarlo
a nuestras necesidades.
Detalles a considerar:
- Se puede cambiar la configuración
del bot en cualquier momento. Para ello se edita
su fichero de configuración y se le
envía una señal HUP:
- >ps -lA | grep argobot
>kill -HUP el_PID_de_arriba
El bot leerá de nuevo su configuración y
la pondrá en práctica enseguida, sin que se
note ningún corte en su funcionamiento.
- El bot imprimirá en pantalla los errores que
vaya encontrando, las entradas y salidas de usuarios en los
canales, etc. Esto es útil con fines de
depuración, pero en funcionamiento normal resulta
innecesario. En esos casos es más conveniente
ejecutarlo en el background con el siguiente comando:
- >nohup argobot &
Esto reenviará toda la salida del programa hacia
un fichero nohup.out en el directorio actual. Ese
fichero puede crecer muy rápido y lo normal es que
no contenga nada de interés, por lo que se recomienda
crear un enlace simbólico a /dev/null:
- >ln -s /dev/null nohup.out
- IMPORTANTE: Dado que la orden de relectura
de la configuración es un kill -HUP y que
esa misma señal se envía al proceso cuando se
cierra la ventana en la que se está ejecutando, es
absolutamente imprescindible o bien no cerrar nunca esa
ventana o bien (recomendado) haber lanzado el bot con el
comando nohup, tal y como se describió
en el punto anterior.
Versión 2 del Argobot (2.82)
Verificación de fichero:
MD5: 633564077d37fffe2c1acf6c5878f493
SHA-1: 9d115f2ecaa0e32365fec3868833c608e539a712
Listado de comandos:
- IRCnick <nick>
- Informa al bot de qué nick debe utilizar
a la hora de identificarse como IRCop ante el nodo IRC,
así como para el whois.
- IRCpasswd <clave>
- Clave IRCop correspondiente al nick anterior.
- nick <nick>
- Nick bajo el cual debe aparecer el bot.
- server <servidor>
- Nombre de dominio al que se va a conectar el bot.
- port <puerto>
- Puerto al que debe conectarse.
- away <texto>
- Mensaje que debe aparecer en el away
del bot. Generalmente será un mensaje informando
al usuario que se trata de un bot automático y una
dirección de e-mail de contacto. El mensaje puede
hacerse todo lo largo que se necesite empleando una
barra invertida ('\') al final de cada línea.
- nick_collide <texto>
- Mensaje enviado con el kill a cualquier usuario
que esté utilizando el nick definido con el
comando nick. Puede hacerse todo lo largo que sea
preciso poniendo una barra invertida ('\') al final de cada
línea.
- umbral_kline <valor>
- Indica cuántos intentos de conexión,
matados por Theilax, se permiten antes de poner una
línea K local. Si el valor es cero, esta
funcionalidad no se utiliza, y el resto de comandos
relacionados simplemente se ignoran. Valor típico: 5
- timeout_klines <valor>
- Número de segundos, como máximo (ver
la justificación en la
Versión 1)
que duran las líneas K locales.
Valor típico: 900 (15 minutos)
- timeout_whowas <valor>
- Parámetro que define cada cuántos
segundos hay que comprobar la presencia de clonos.
Valor típico: 5.
- timer <offset> <período> <comando>
- Ejecuta el comando especificado, cada
período segundos, empezando offset
segundos después de cargar la configuración.
El comando puede ser todo lo largo que sea necesario
empleando una barra invertida ('\') al final de cada
línea. El comando se envía literalmente al
servidor, por lo que se requiere una cierta familiaridad con
el
protocolo IRC.
- timer 60 600 privmsg #lazo_azul
:¡Solidarízate!
- Envia al canal #lazo_azul el texto
¡Solidarízate! cada diez minutos. Al arrancar el
programa se concede un minuto de gracia para permitir que
entre en todos los canales especificados y se configure plenamente.
- set <alias> <máscara> [clave]
- Este comando da de alta a un usuario, cuyo nombre
de referencia interno será alias
(no tiene por qué coincidir con su nick).
Máscara tiene el formato
nick!user@dominio, siguiendo la sintaxis normal.
Se admiten comodines SI Y SÓLO SI sustituyen a un campo
completo. Por ejemplo:
- jcea!*@*
- Cualquier usuario que use ese nick
- *!*@corinto.argo.es
- Cualquier usuario en esa máquina
Si la máscara no va a ser utilizada en ningún
comando posterior, se puede emplear para almacenar
información de recordatorio arbitraria, siempre que
se ajuste a la sintaxis indicada. Por ejemplo:
- set jesus jcea!jcea@argo.es
- nos recuerda que el usuario jesus suele
usar el nick jcea y su dirección de
correo electrónico es jcea@argo.es.
Clave es un parámetro opcional que
declara una clave que el usuario podrá usar en los
comandos que envíe al bot.
- group <grupo> <alias...>
- Define un grupo cuyo nombre interno será
el declarado en el primer parámetro. El segundo
parámetro y siguientes indica los usuarios asignados
a ese grupo, usuarios declarados previamente con el
comando set.
|
|
- join <canal> [clave]
- Indica al bot que debe gestionar el canal indicado. La
clave es opcional, y puede emplearse GOD si
tenemos el servidor parcheado y quiere forzarse su entrada
en los canales por encima de bans, invite
o claves (recomendado).
ATENCIÓN: Dado que el símbolo
# se utiliza para señalar el principio de un comentario,
no debe emplearse cuando se especifica el canal. Es decir:
- join opers GOD
- Entra en el canal #opers
A partir de la versión 2.29, el Argobot puede gestionar
canales locales, usando el símbolo estándar:
- join &Argo GOD
- Controla el canal local &Argo
A partir de la versión 2.70, el Argobot puede gestionar canales sin modos (IRCu2.10.04 o superior), usando el símbolo estándar:
- join +Argo GOD
- Mantiene abierto el canal sin modos +Argo
- autoop <grupo>
- Cualquier miembro del grupo especificado será
"opeado" cuando entre en el canal. Se recomienda no usar esta
opción, dados sus riesgos de seguridad.
- privil <grupo>
- Declara a los miembros del grupo especificado como
privilegiados. Ello significa que pueden
enviar comandos al bot. La
máscara será ignorada (salvo que se
emplee también autoop), y se
utilizarán las claves para el control de acceso.
- mode_default <modos>
- Fija los modos por defecto y obligados de un canal. La
sintaxis es semejante a la del comando mode
del IRC:
- mode_default nt
- Pone los modos "nt" en el canal. Si alguien los
quita, los pone de nuevo. Ésta es la opción
recomendada.
- mode_default ntsk 123
- Obliga a que el canal tenga modos "nt", y
sea siempre secreto y con clave 123.
- mode_disallow <modos>
- Indica qué modos no son admitidos
en el canal.
- mode_disallow silmpk
- Opción recomendada,a prueba de
takeover.
- mode_disallow ob
- No se permiten ni pasos de op ni bans,
salvo los que ponga el propio bot.
- log <fichero>
- Hace logs del canal, almacenándolos en
el fichero indicado. Si el fichero ya existe, la salida se
concatena. Se almacenan referencias temporales cada
diez minutos.
- notice <texto>
- Este comando está disponible desde la
versión 2.40. Permite configurar un texto
que será enviado a cualquier usuario que
entre en el canal, como "notice". Puede
especificarse un texto largo añadiendo
una barra invertida ('\') al final
de cada línea.
- allow_any_ban
- Disponible desde la versión 2.50.
Este comando especifica que en ese
canal no se imponen restricciones en cuanto
al tipo de ban que se puede hacer. Es decir,
cualquier usuario que tenga OP puede hacer
un ban a "*!*@*" y el Argobot ni se
inmutaría. Se recomienda no utilizar
esta opción salvo que sea preciso
por las características o
idiosincrasias del canal.
En caso de conflicto con la protección
de modos (es decir, que haya una "b"
en "mode_disallow"), la protección
de modos gana: no se permitirán BANs en el
canal.
- passwd <clave>
- Disponible a partir de la versión 2.70. Permite especificar una clave que será enviada al servidor al principio de la conexión. Con ello se puede acceder a redes que emplean claves, y utilizar el registro de nicks de ESNET.
|
Descripción léxica y
sintáctica en pseudoBNF:
fichero := [comando...] EOF
comando := ( "IRCnick" palabra | "IRCpasswd" palabra "nick" palabra
| "server" palabra | "port" numero | "away" texto
| "nick_collide" texto | "umbral_kline" valor
| "timeout_klines" valor | "timeout_whowas" valor
| "timer" valor valor texto
| "notice" texto
| "allow_any_ban"
| "set" palabra palabra"!"palabra"@"palabra [palabra]
| "group" palabra palabra... | "join" palabra [palabra]
| "autoop" palabra | "privil" palabra
| "mode_default" palabra [palabra...]
| "mode_disallow" palabra
| "log" palabra
| "passwd" palabra
| "") ["#"texto] (EOL | EOF)
palabra := caracteres...
caracteres := ASCII menos '#', espacio, '\', tabulador y control
numero := ("0".."9")...
texto := ([caracteres2] ["\"(EOL|EOF)])...
caracteres2 := ASCII menos control
Configuración de ejemplo:
#
# Parámetros Globales
#
IRCnick ArgoBot
IRCpasswd *clave*
nick _ArgoBOT
passwd *clave*
#server irc.argo.es
#server gaia.irc-hispano.org
server irc.argo.es
port 6668
away Bot de control de irc.argo.es. Para cualquier \
consulta, hablar con jcea o mail a irc@argo.es
nick_collide Escoge otro Nick, por favor
umbral_kline 0 # Máximo número de intentos (desconectado)
timeout_klines 0 # 15 minutos
timeout_whowas 0 # Tiempo entre whowas
set todos *!*@* # Un comodín
group todos todos
# IRCops
set jcea *!*@castor.argo.es *clave*
set manolete *!*@tequila.girona.com
set artemisa *!*@raul.cs2informatica.es *clave*
group IRCops jcea manolete artemisa
# Proveedores
set arnal *!oreixa@legba.arnal.es *clave*
set tanaki *!hal9000@nodo1.tanaki.es
set nexnet *!jesus@txuso.nexnet.es
set gphoenix *!juanan@aguila.gsphoenix.com
set bemarnet *!Midnight@host.bemarnet.es
set conecta *!*@hermes.conecta.es
set anade *!fsanchez@alpha1.anade-sl.es
set mastercom *!Chema@chema.bme.es
set svalero *!xiaman@Apocalipsis.svalero.es
set juande *!*@trevenque.es *clave*
set alc *!*@nt.alc.es
set manolete *!*@tequila.girona.com
set airastur *!*@ironsam.airastur.es
set distrito *!*@caridad.distrito.com
set vidal *!*@soledad.falcon-es.com
set olivet *!*@devnull.tech.olivet.com
set chemita *!*@chemita.bme.es
set cat *!*@testfw.Cat.es *clave*
group proveedores jcea bot arnal tanaki nexnet gphoenix bemarnet conecta anade mastercom svalero juande artemisa alc manolete airastur distrito cat vidal olivet chemita
# Canal ayuda-esnet
set petrus *!beneitez@coventry.ac.uk *clave*
group ayuda-esnet jcea petrus
join esnet GOD
autoop IRCops
privil IRCops
mode_default nti
mode_disallow slmpk
timer 60 86400 privmsg olimpo :op #esnet _argobot
join ayuda-esnet GOD
autoop IRCops
privil ayuda-esnet
mode_default nt
mode_disallow silmpk
timer 60 86400 privmsg olimpo :op #ayuda-esnet _argobot
join proveedores_seguro GOD
autoop proveedores
#log log_proveedores
privil proveedores
mode_default sntk (clave secreta)
mode_disallow ilmp
notice Por favor, ponte el nick de proveedor que representas. \
Logs en http://www.argo.es/~jcea/irc/ \
Página del canal en http://www.argo.es/~jcea/irc/prov_qmd.htm
timer 60 86400 privmsg olimpo :op #proveedores_seguro _argobot
join lazo_azul GOD
#autoop IRCops
mode_default ntm
mode_disallow silpko
notice Este canal no es para hablar. Simplemente entra aquí \
para solidarizarte con las víctimas del terrorismo
timer 60 3600 privmsg #lazo_azul :Este canal no es para hablar. \
Simplemente entra aquí para solidarizarte con \
las víctimas del terrorismo (mensaje automático)
timer 60 9999 topic #lazo_azul :Este canal no es para hablar. \
Simplemente entra aquí para solidarizarte con \
las víctimas del terrorismo
timer 60 3600 privmsg $*.org :Los usuarios que lo deseen pueden entrar \
en el canal #lazo_azul. Este canal no es para hablar. \
Simplemente entra aquí para solidarizarte con \
las víctimas del terrorismo (mensaje automático)
timer 60 86400 privmsg olimpo :op #lazo_azul _argobot
# Pone un modo para reducir el consumo de ancho de banda
timer 60 600 mode _argobot :+d
©1997-98
jcea@jcea.es
Más información sobre los OpenBadges
Donación BitCoin: 19niBN42ac2pqDQFx6GJZxry2JQSFvwAfS