Eventos Remotos en mIRC


INTRODUCCIÓN
Se conocen como EVENTOS, en informática, todos aquellos sucesos que se producen a lo largo de una sesión de trabajo de un programa, y que éste es capaz de detectar y controlar. La programación orientada a eventos es aquella en la que podemos definir previamente las acciones que el programa debe de emprender en el momento en que se produzca un evento concreto. Es decir, predisponemos al programa a que preste especial atención a algunos sucesos, y le obligamos a que analice dichos eventos a fin de determinar si se reúnen las circunstancias que hemos establecido, y de ser así, a ejecutar las acciones que para ese caso le hemos programado.

El mIRC es un programa altamente configurable y personalizable a través de la definición de Alias, Popups, y Remotes. Dentro de este último grupo provee una de sus herramientas más potentes: la posibilidad de programar acciones orientadas a un grupo de eventos propios de una sesión de IRC; es decir, es posible programar de modo sencillo acciones de cierta complejidad como respuesta a algunas situaciones. 

Existen tres tipos de eventos en el mIRC, los que llamaremos estándar, que son los que se describen aquí, y los eventos CTCP que describiré en un capítulo aparte, y los eventos RAW que se explicarán en el apartado Números Raw. 

En este manual de referencia se incluyen los eventos descritos para la versión 5.31.

 

UN EJEMPLO DEL USO DE EVENTOS
Por ejemplo, es muy sencillo hacer que el programa detecte cada vez que, en cualquier canal en el que estemos, alguien escriba nuestro nick (supongamos que es SomaTic), y en consecuencia, si lo deseamos, comunicar privadamente a esa persona que no estamos prestando atención en ese momento. No habría más que recurrir al evento "onTEXT", quizás el más importante de todos. 

Para esto debemos de ir al menú "TOOLS" que se encuentra en la barra de menús de la parte superior de la pantalla y pulsar la opción "REMOTE...". Nos aparece un cuadro con una gran ventana de texto y una nueva barra de menús en la parte superior. Vayamos al menú "VIEW" y seleccionemos la opción "events"; ya podemos escribir en el cuadro de texto nuestras órdenes para el control de eventos (hágalo a ser posible al principio de esta caja de texto). Escribiremos la siguiente línea:

on 1:TEXT:Somatic:#: notice $nick Perdona $nick no estoy prestando atención!!!.

Pulsamos el botón "OK" y trabajo concluido. Desde este momento, si {_PePe_} menciona el nombre de SomaTic recibirá un mensaje que solo podrá ver él (notice), en el que le decimos: "Perdona {_PePe_} no estoy prestando atención!!!".

Al margen de la sintaxis de la línea, que veremos más adelante, la objeción es evidente: ¿Y que pasa si SÍ estamos prestando atención? ¿tenemos que ir otra ver a la ventana de edición de eventos y borrar lo que pusimos?. Bueno, es una posibilidad, pero afortunadamente también tenemos la facilidad de hacer que la acción de los eventos que deseemos se active y desactive a nuestra voluntad. Vayamos de nuevo a la ventana de edición de eventos y escribamos lo siguiente en las líneas anterior y posterior a la que escribimos antes: #ausente off y #ausente end. El bloque total (grupo) quedará de la siguiente forma:

#ausente off
on 1:TEXT:Somatic:#:/notice $nick Perdona $nick no estoy prestando atención!!!.
#ausente end

De esta forma podemos crear bloques o grupos de eventos con tantas líneas como deseemos en su interior. Para activar o desactivar su efecto debemos de incluir las instrucciones: .enable #ausente y .disable #ausente dentro de algún alias o de un menú (si esto le causa problemas ahora es el momento que estudiar a fondo las secciones de aliases y popups del mIRC ;)). (el punto delante de las cláusulas enable y disable tiene el único fin de inhibir el mensaje que el programa presenta en pantalla anunciando la activación o desactivación del grupo).

Pruebe los efectos de la programación de eventos aplicando los distintos comandos del IRC y del mIRC en su interior (por motivos que desconozco algunos de ellos no funcionan en este contexto, como por ejemplo /me, /ame, /say, ... etc). También puede hacer uso de alias previamente definidos, o de la estructura IF-ELSE, pero, en cualquier caso, si desea incluir varias líneas de órdenes vinculadas a un mismo evento use siempre el separador de comandos (el carácter "|", que se obtiene pulsando las teclas ALTGR y 1).

 

GENERALIDADES DE LA SINTAXIS DE EXENTOS
Como ya se ha podido observar en el ejemplo anterior, lo que hemos dado en llamar un la línea de evento se forma mediante una cadena de caracteres en la que los distintos campos de información están separados por el símbolo de los dos puntos. Los campos son los siguientes: 

on <nivel>:<EVENTO>:<texto>:<lugar>:<comando/os>

En el primer campo es necesario especificar en nivel de acceso remoto que ese usuario tiene a nuestro sistema. Este es un tema algo complejo en el que no procede entrar ahora, baste saber que este nivel es un número que marca la capacidad de acceso que cada usuario tiene para ejecutar comandos del IRC de forma remota dentro de nuestro ordenador. No se alarme, nadie tendrá un nivel que usted no le haya concedido previamente, y este para los comandos que usted especifique. Para comprobar quien tiene nivel de acceso remoto a su sistema no tiene más que mirar en la solapa de "USERS" de la misma ventana desde donde introducimos los eventos, ahí puede añadir o borrar lo que desee. En principio, y para todos los efectos de este documento, podemos considerar el nivel de acceso 1 que es el que otorga el programa por defecto a todos lo usuarios; por tanto, en este caso el primer campo sería: on 1.

También es posible anteponer el símbolo @ antes del número de nivel, si hacemos esto, la definición del evento no se ejecutará nada más que en caso de que dispongamos del estatus de operador del canal.

El segundo campo es el identificador del evento que estamos configurando, en el ejemplo anterior era TEXT, pero descubrirá que hay otros muchos.

El tercer campo es el "texto", este no tiene sentido en todos los eventos, gran parte de ellos no están vinculados a texto alguno, y simplemente se omite este campo.

El cuarto campo es "lugar", es decir, el canal, privado...etc. donde el mIRC vigilará la circunstancia del evento, podemos especificar de este modo que determinado evento produzca las acciones especificadas solo si se da en un determinado lugar. Como en el campo anterior no siempre tiene sentido y por tanto se omite en algunas definiciones de eventos. 

El último campo es el más grande, incluye el comando o comandos, alias, etc... que se ejecutarán en caso de que se produzca el evento y las circunstancias especificadas. En este campo se pueden concatenar varios comandos utilizando el símbolo "entubador": "|" (no olvide dejar espacios en blanco a ambos lados del entubador). 

Para aumentar aun más la potencia de la configuración de eventos, estos admiten el uso de funciones, son todos aquellos identificadores que comienzan por el símbolo $ (la referencia del mIRC los llama parámetros, el tema es mas bien terminológico, yo prefiero verlas como funciones puesto que junto con las internas del programa el mIRC permite definir otras propias, con una sintaxis muy similar a la del lenguaje C). No se relaciona en este documento una lista exhaustiva de dichas funciones, puesto que muchas de ellas son propias de un solo evento concreto, mientras que otros no las admiten. No obstante, si presta atención a los ejemplos irá viendo la forma y utilidad de la mayoría de ellas, en los lugares en los que son efectivas; el resto lo debe de aportar la experiencia personal. (las funciones deberán de tener siempre espacios en blanco a ambos lados de su nombre). 

Es perfectamente posible, así mismo, el empleo de variables y estructuras IF-ELSE dentro de las definiciones de eventos, encontrará numerosos ejemplos de este uso en los scripts para mIRC que circulan a libre disposición en la WWW y el IRC.

Es hora de entrar a conocer una a una las definiciones de eventos que proporciona la versión 5.31 del mIRC. Esta lista está basada en la ayuda del propio programa y no la considero cerrada, por tanto agradeceré cualquier crítica y sugerencia, por supuesto las dudas también serán atendidas en mi e-mail: sucubus@arrakis.es, o en el canal #Ayuda_IRC del IRC Hispano, no tiene más que preguntar por SomaTic ;).


Evento ON TEXT
Este evento se produce al recibirse un mensaje especificado, bien en un privado, o bien en un canal en el que nos encontramos.

Formato: 
on <level>:TEXT:<texto>:<*><?><#[,#]>:<comandos>

Ejemplo: 
on 1:TEXT:*ayuda*:*:/msg $nick ¿Cual es el problema?

El texto del mensaje que deseamos que produzca el evento se puede especificar de varias maneras:

* El evento se producirá ante cualquier texto.
& El evento se producirá ante cualquier palabra.
Texto El evento se produce anta una palabra concreta y no otra.
Texto* Se produce ante una cadena de caracteres que comience por el texto
especificado.
*Texto Se produce ante una cadena de caracteres que finalice por el texto
especificado.
*Texto* El evento se produce si el texto contiene la cadena especificada,
sea cual sea su posición.

Se puede especificar el lugar donde se controlará el evento de la siguiente forma:

? Controlara la producción del evento dentro de un query o de un DCC chat
# Controlara la producción del evento dentro de un canal cualquiera en el
que nos encontremos
#canal_1
#canal_2
,... 
Controlará la producción del evento dentro de un canal
especificado.
* Controla el evento en un privado o canal indistintamente.

Ejemplos:
on 1:TEXT:Hola*:#:/msg $chan ¡Bienvenido al canal $chan $nick $+ !

Esta instrucción detectará cuando alguien diga la palabra "Hola" en cualquier canal que nos encontremos, y automáticamente le dará la bienvenida al canal en cuestión. El identificador $+ elimina los espacios en blanco que tiene a ambos lados, de ese modo podemos hacer que el nick de la persona que ha dicho "hola" aparezca en nuestra respuesta seguido del símbolo "!", si escribimos directamente este símbolo a continuación de $nick este no será reconocido como un identificador del nick del usuario, sino que aparecerá literalmente como está en la orden.

También es posible emplear variables para dar más flexibilidad al formato del evento, por ejemplo: 

on 1:TEXT:%text:%canal:/msg $nick Tú has escrito %text en el canal: %channel 

Este ejemplo trabajará con los valores previamente guardados en las variables %text, y %canal.

Nota: Este evento se producirá solo ante textos de otros usuarios, los de usted no desencadenarán el evento.

 

Eventos ON ACTION y ON NOTICE
Tienen el mismo formato que on TEXT, y se producen a partir de una acción o de una noticia respectivamente. Recordemos que una noticia se produce cuando alguien nos envía un mensaje con el comando /notice, y una acción cuando alguien efectúa una acción de control dentro del canal; por ejemplo: 

on 1:ACTION:*set mode*:#:/msg $chan ¡Ya estamos jugando con los modos!

Esta orden detectará cualquier acción que contenga la cadena "Set mode", y emitirá un mensaje al canal en que se produce. 

on 1:NOTICE:*:?:/msg $nick Estoy ocupado, espera un momento! 

Esta orden detecta cualquier /notice recibido estando en un privado, y responde con otro /notice al autor.

 

Eventos ON BAN y ON UNBAN
Estos eventos se producirán cuando un usuario sea baneado o desbaneado en el
canal. 

Formato: 
on <level>:BAN:<#[,#]>:<comandos>

Ejemplos:
on 1:BAN:#:/msg $nick Has sido baneado de: $chan on 9:BAN:#:/mode $chan -o $nick | /mode $chan -b $banmask

El segundo ejemplo es una acción múltiple que quita el estatus de operador al usuario que puso el ban, y elimina este cuando el usuario baneado tiene nivel 9 o superior en la lista de usuarios de nuestro programa (la función $banmask devuelve la máscara de baneo que fue empleada, y se usa, en este caso, para eliminar dicho baneo). 

on 1:UNBAN:#:/msg $bnick Has sido desbaneado por $nick 

Observe en este ejemplo el uso de la función $bnick. Esta devuelve el nick del usuario baneado o desbaneado, pero solo en caso de que dicho nick este incluido dentro de la máscara del baneo. En caso contrario $bnick = $null (nulo).

Es posible tener en cuenta en la sintaxis de la instrucción los niveles del baneador y del baneado. A este fin se puede preceder el número de l nivel de los signos: <,>,<=,=>,<>, ó =. Por ejemplo: 

on >=2:BAN:#:/msg $chan $nick baneado $banmask (legal)

En esta situación, si el nivel del baneador es mayor o igual que el del usuario baneado, se comunica que este es un ban legal (como se podría comunicar cualquier otra cosa)

Recuerde, esta sintaxis compara los niveles de baneado y baneador, nunca que este tenga o no nivel superior o igual a 2.

Nota: Estos eventos solo operan cuando el server de IRC proporciona los nicks de baneador y baneado, y no su cuando da sus direcciones. 

Observe el siguiente ejemplo:

on 1:BAN:#:

if ( $banmask iswm $address( $me ,0)) || ( $me isin $banmask ) { echo -s $nick te ha baneado con esta máscara: $banmask }

if ( $me isop $chan ) { mode $chan -ob+b $nick $banmask $address($nick,2) } }

Esta rutina se inicia cada vez que se produce una acción de baneo en un canal en que nos encontramos. En primer lugar comprueba que la máscara del ban coincide con la nuestra o bien tiene incluido nuestro nick, en tal caso emite un mensaje a la ventana de estatus especificando la persona que lo ha realizado y la máscara con la que se ha hecho el ban, a continuación comprueba si somos operadores del canal, y en tal caso retira el estatus de operador a quien nos ha baneado, y le banea a su vez.

 

Eventos ON CHAT y ON SERV
Los eventos on CHAT y on SERV se producen cada vez que es enviado un mensaje la una ventana de DCC chat, o a un Fserve respectivamente. Es similar al evento on TEXT, el cual no funciona en un chat ni en un servidor de ficheros. 

Formato:
on <level>:<CHAT/SERV>:<texto>:<comandos>

Ejemplo:
on 1:CHAT:*ayuda*:/msg $nick Cual es el problema?

La especificación del texto que producirá el evento se hace de la misma forma que en ON TEXT.

 

Eventos ON CHATOPEN y ON CHATCLOSE
Estos eventos se producen al abrirse o cerrarse (respectivamente), una sesión de DCC chat.

Formato:
on <level>:CHATOPEN:<comandos> 

Ejemplo:
on 1:CHATOPEN:/msg =$nick Bienvenido!

Ejemplos: 
on 1:CHATOPEN:/msg =$nick Hola, estoy contigo en un momento.

Esta instrucción envía una frase al DCC chat cuando este se abre por primera vez. El uso del signo "igual" delante de $nick es necesario para que el mensaje se dirija a la misma ventana del DCC chat, y no a una ventana privada aparte. 

on 1:CHATCLOSE:/notice $nick fin de la discusión! 

Esto se produce al cerrar la ventana del DCC chat.

 

Eventos ON SERVOPEN y ON SERVCLOSE
Estos eventos se producen al abrirse o cerrarse (respectivamente), una sesión del FSERVE .

Formato:
on <level>:CHATOPEN:<comandos> 

Ejemplo:
on 1:CHATOPEN:/msg =$nick Bienvenido! 

 

Eventos ON CONNECT y ON DISCONNECT
El evento on CONNECT se produce cuando mIRC conecta al server de IRC, después de visualizar el MOTD (mensaje del día del servidor). 

Formato:
on <level>:CONNECT:<comandos> 

Ejemplo:
on 1:CONNECT:/join #ayuda_irc 

on DISCONNECT es otro evento con el mismo formato, que se produce al desconectarse del server. 

Ejemplo:
on 1:CONNECT:/echo Conectado a $server a las $time Tu nick es: $nick 

 

Evento ON CTCPREPLY
Se produce cuando otro usuario responde a una pregunta CTCP por parte de usted. 

Formato:
on <level>:CTCPREPLY:<texto>:<comandos>

Ejemplo:
on 1:CTCPREPLY:VERSION*:/echo $nick está usando IRC cliente: $1-

Ver evento on TEXT para los formatos de texto aceptados.

Ejemplo:
on 1:CTCPREPLY:PING*:/echo -s $nick ha respondido al ping!

 

Eventos ON OP y ON DEOP
Se producen cuando un usuario del canal es opeado o deopeado.

Formato:
on <level>:OP:<#[,#]>:<comandos> 

Ejemplo:
on 1:OP:#ayuda_irc:/msg $nick No abuses del estatus! 

El evento on SERVEROP es exactamente igual, y se produce cuando un usuario es opeado por el server. 

Ejemplos:
on 9:OP:#:/mode $chan -o $opnick | /msg $nick no opees a esa persona! 

En este ejemplo el evento se produce cuando es opeado un usuario de nivel de acceso 9 en nuestra sección de remotes. $opnick devuelve el nick de la persona opeada o deopeada, y $nick el de la que lo opeó o deopeó. 

on 1:DEOP:#ayuda_irc:/mode $chan +o $opnick

Con esta orden devolvemos el op a cualquier persona que sea deopeada en el canal #ayuda_irc.

Es posible tener en cuenta en la sintaxis de la instrucción los niveles del opeador y del opeado. A este fin se puede preceder el número de nivel de los signos: <,>,<=,=>,<>, ó =. 

Por ejemplo:
on >=2:OP:#mIRC:/msg $chan $nick opeado (legal)

En esta situación, si el nivel del opeador es mayor o igual que el del usuario opeado, se comunica que este es un op legal (como se podría comunicar cualquier otra cosa).

Recuerde, esta sintaxis compara los niveles de opeado y opeador, nunca que este tenga o no nivel superior o igual a 2.

Nota: Estos eventos solo operan cuando el server de IRC proporciona los nicks de opeador y opeado, y no su cuando da sus direcciones. 

 

Eventos ON VOICE y ON DEVOICE
Se produce cuando un usuario recibe o es privado de voz en un canal moderado en que nos encontramos. 

Formato:
on <level>:VOICE:<#[,#]>:<comandos> 

Ejemplo:
on 1:VOICE:#:/msg $vnick ya tienes voz en: $chan 

Ejemplos:
on 9:VOICE:#:/mode $chan -v $vnick | /msg $nick No des voz o ese tío!

Esta orden se ejecuta cuando el que recibe voz tiene nivel 9 o superior.

on 1:DEVOICE:#mIRC:/mode $chan +v $vnick

Devuelve la voz al que se le quite en el canal.

Son aplicables también los prefijos de comparación de niveles descritos en on BAN y on OP. 

 

Evento ON DNS
Se produce cuando hacemos un requerimiento DNS (comando /dns).

Formato:
on <level>:DNS:<commandos>

Ejemplo:
on 1:DNS:/notice $me resuelto: $raddress

Ejemplo: 
on 1:DNS:/echo $nick ip address: $iaddress named address: $naddress resolved address: $raddress

 

Evento ON ERROR
Se produce cuando el server envía un mensaje de error, por ejemplo, en una desconexión. 

Formato:
on <level>:ERROR:<texto>:<commandos> 

Ejemplo:
on 1:ERROR:*server full*:/echo Has salido del server! 

Ver el evento on TEXT para el formato del texto.

Ejemplos:
on 1:ERROR:*banned*:/echo Has sido baneado de este server!

 

Eventos ON FILESEND y ON FILERCVD. ON SENDFAIL y ON GETFAIL
Se producen al completarse un dcc send o un dcc get (envío o recepción de ficheros respectivamente). 

Formato:
on <level>:FILESENT:<filename[,filename]>:<comandos> 

Ejemplo:
on 1:FILESENT:*.txt:/msg $nick ahí te mando: $filename !!

Los eventos on SENDFAIL y on GETFAIL se producen cuando un dcc send o un dcc get son fallidos.

Ejemplos:
on 1:FILESENT:*.txt,*.ini:/echo Enviado $filename a $nick $address

Se produce cuando enviamos un fichero .TXT o INI. $filename devuelve el nombre del fichero enviado. 

on 1:FILERCVD:*.txt,*.ini:/echo Recibido $filename de $nick | /run notepad.exe $filename

Esta orden avisa cuando hemos recibido ficheros .TXT e .INI, y abre el bloc de notas para ver su contenido. 

on 1:SENDFAIL:*.txt:/echo Ha fallado el envío de $filename a $nick!! 

 

Evento ON INPUT
Se produce cuando introducimos texto en una caja de texto y pulsamos INTRO. 

Formato:
on <level>:INPUT:<commandos>

Ejemplo:
on 1:INPUT:/echo Texto introducido: $1- 

La función $1- devuelve en este caso toda la cadena de texto introducida. 

 

Evento ON INVITE
Se produce cuando un usuario nos invita a un canal. 

Formato:
on <level>:INVITE:<#[,#]>:<comandos> 

Ejemplo:
on 1:INVITE:#mIRC:/join $chan

 

Eventos ON JOIN y ON PART
Se producen al entrar o salir un usuario de un canal en que nos encontramos 

Formato:
on <level>:JOIN:<#[,#]>:<comandos>

Ejemplo:
on 1:JOIN:#:/msg $nick Hola!

 

Evento ON KICK
Se produce cuando un usuario es expulsado de un canal en el que nos encontramos.

Formato:
on <level>:KICK:<#[,#]>:<comandos> 

Ejemplo:
on 5:KICK:#:/invite $knick $chan | /msg $nick Hey, $knick ese es mi amigo! 

Es aplicable también aquí la regla de comparación de niveles de los nicks descrita el los eventos on BAN y on OP.

 

Eventos ON LOAD y ON START
Estos eventos se producen cuando un fichero de script es cargado o descargado.

Formato:
on <level>:LOAD:<commandos> 

Ejemplo:
on 1:LOAD:/echo mIRC Script cargado!

 

Eventos ON MIDIEND y ON WAVEEND
Se produce cuando el mIRC termina la reproducción de un fichero MIDI o WAV 

Formato:
on <level>:MIDIEND:<commandos>

Ejemplo:
on 1:MIDIEND:/splay jazzy.mid

Este evento no tiene funciones asociadas. No se producirá si la reproducción se detiene a causa de una interrupción, solo lo hace cuando la reproducción es completada.

 

Evento ON MODE
Se produce cuando un usuario cambia los modos del canal (pero no los de usuario).

Formato:
on <level>:MODE:<#[,#]>:<comandos> 

Ejemplo:
on 1:MODE:#ayuda_IRC:/notice $me $nick Cambia modos de $chan a: $1- 

On SERVERMODE es otro evento que se produce cuando los modos son cambiados por el servidor.

Ejemplo:
on @1:MODE:#:/notice $me $nick changed $chan mode to $1- 

Esta instrucción se produce cuando alguien cambia los modos del canal teniendo nosotros también el estatus de operador.

 

Evento ON NICK
Se produce cuando un usuario cambia de nick dentro del canal. 

Formato:
on <level>:NICK:<commandos> 

Ejemplo:
on 1:NICK:/msg $nick Hi $newnick!

$nick devuelve el nick antiguo; $newnick el nuevo.

 

Evento ON NOSOUND
Este evento se produce cuando alguien activa un sonido en el canal y el mIRC no encuentra el fichero midi o wav en nuestros directorios de sonidos, los especificados en el dialogo FILE/OPTONS/SOUNDS 

Formato:
on <level>:NOSOUND:<comandos> 

Ejemplo:
on 1:NOSOUND:/notice $nick No tengo el fichero $filename

 

Eventos ON NOTIFY y UNOTIFY
Se producen al entrar o salir del IRC un usuario que se encuentra en nuestra lista de notificaciones. 

Formato:
on <level>:NOTIFY:<commandos> 

Ejemplos:
on 1:NOTIFY:/msg $nick Hola nick, ya te veo venir!!! :) 

on 1:NOTIFY:/notice $me $nick se va del IRC *sniff*

 

Eventos ON QUERYOPEN y ON QUERYCLOSE
Se producen respectivamente al abrirse una ventana de query. 

Formato:
on <level>:QUERYOPEN:<comandos> 

Ejemplo: 
on 1:QUERYOPEN:/echo -s Abierto query con: $nick $address | / msg $nick Hola $nick

 

Evento ON QUIT
Se produce cuando un usuario que está en nuestro canal sale del IRC. 

Formato:
on <level>:QUIT:<commandos> 

Ejemplos:
on 1:QUIT:/notice $me $nick sale del IRC con el mensaje: $1- 

on 1:QUIT:/msg $chan Bye-Bye to $nick *sniff*

 

Evento ON SNOTICE
Se produce cuando recibimos una noticia del server.

Formato:
on <level>:SNOTICE:<texto>:<commandos> 

Ejemplo:
on 1:SNOTICE:*client connecting*:/halt

Para una explicación del formato del texto, ver el evento on TEXT. 

Ejemplo:
on 1:SNOTICE:*split*:/splay hack.wav 

Activa un fichero de sonido en caso de una noticia del server anunciando un split.

 

Evento ON TOPIC
Se produce cuando algún usuario cambia el tópico del canal.

Formato:
on <level>:TOPIC:<#[,#]>:<comandos>

Ejemplo:
on 1:TOPIC:#mIRC:/msg $chan Hmm, que tópico mas cutre!!!: $1-

La función $1- devuelve el texto completo del nuevo tópico.



Evento ON USERMODE
Se produce cuando cambiamos nuestros modos de usuario. 

Formato:
on <level>:USERMODE:<commandos> 

Ejemplo:
on 1:USERMODE:/echo nuevos modos: $1-

 

Evento ON WALLOPS
Se produce cuando recibimos un wallops message. 

Formato:
on <level>:WALLOPS:<texto>:<commandos> 

Ejemplo:
on 1:WALLOPS:*aviso*:/echo $nick mensaje de aviso a las: $time

Ver el evento on TEXT para una explicación de los posibles formatos del texto.

 

Eventos ON TOPIC
Se produce cuando algún usuario cambia el tópico del canal. 

Formato:
on <level>:TOPIC:<#[,#]>:<comandos> 

Ejemplo:
on 1:TOPIC:#mIRC:/msg $chan Hmm, que tópico mas cutre!!!: $1-

La función $1- devuelve el texto del nuevo tópico.

 

Autor:
RIPPER
Moderador de la lista METALHACK
ICQ 75368962