SCRIPTING
Lista de
identificadores del mIRC
El entorno del programa
mIRC provee de una serie de identificadores
o funciones que devuelven automáticamente un valor,
para su uso en definiciones de alias, popups y eventos.
Todos ellos están precedidos para su identificación
por el símbolo "$".
Cuando el mIRC, en la
ejecución de un script, encuentra uno de estos
identificadores, lo sustituye por el valor que este
devuelve. Es importante tener en cuenta que estos
identificadores deben de ir siempre especificados entre
dos espacios en blanco, de lo contrario el mIRC no los
identificará como tales; aunque en las últimas
versiones del programa esto no es necesario en
ocasiones, es un buen hábito que nos ahorrará más de
un problema.
Los identificadores están
concebidos para su uso dentro de rutinas de script y por
tanto no funcionarán (no devolverán el valor
correspondiente, sino que serán interpretados
literalmente) en los comandos que introduzcamos
directamente en la línea de escritura durante una sesión
del programa. Este inconveniente, con el fin de hacer
pruebas cómodamente, se puede soslayar de una manera
sencilla: mormalmente usted escribirá el signo
"/" delante de todos sus comandos, de esta
forma mIRC interpreta lo que lee a continuación como un
comando; si quiere probar un identificador dentro de un
comando que introduce directamente no tiene más que
preceder dicho comando de dos símbolos
"/", de este modo el programa leerá la línea
no como un comando simple, sino como una orden de
script, y sustituirá el identificador por su valor
correspondiente en ese momento.
Un
ejemplo sencillo es el siguiente: //whois
$me
Dado que, como veremos,
el identificador "$me" devuelve siempre
nuestro nick actual, la línea anterior será
equivalente a hacernos un WHOIS a nosotros mismos sea
cual sea el nick que tengamos en ese momento, mIRC se
encargará de ponerlo en el lugar de "$me" a
la hora de interpretar la orden. Si, en cambio, solo
ponemos un símbolo "/" delante del comando el
mIRC intentará hacer un WHOIS de un usuario apodado
$me.
A
continuación se relaciona una lista con la mayoría de
los identificadores que se encuentran disponibles en la
versión 5.31 de mIRC. Es también necesario señalar
que existe otra serie de identificadores asociados con
los eventos de mIRC de forma exclusiva, es decir, solo
se pueden usar dentro de estos y solo en algunos de
ellos, puesto que son específicos para los mismos; los
podrá descubrir dentro de los ejemplos que se presentan
del el capitulo correspondiente a los eventos del mIRC.
IDENTIFICADORES
DE TIEMPO Y FECHA |
Se trata de una colección de funciones que devuelven
valores relativos a la duración y tratamiento de
intervalos de tiempo, así como al uso del importantísimo
comando /timer.
$ctime
Devuelve el número total de segundos transcurridos
desde las 0 horas de 1 de enero de 1970. Este valor es
útil puesto que normalmente los servers, que suelen
trabajar bajo sistemas UNIX, nos informarán de
los datos referidos a un momento determinado (conexión
de un usuario ... etc), en este mismo formato, y podemos
calcular los tiempos transcurridos entre dos sucesos, o
uno y el momento actual, haciendo una simple resta y,
luego transformandolo a formato semanas/días/horas/minutos/segundos
mediante el identificador $duration.
$asctime(nº)
Si el número es 0 devuelve el dato: "Thu Jan 01
01:00:00 1970", si introducimos otro número este
se entenderá como segundos, y transformará al formato
fecha/hora el instante que resulta de sumar esos
segundos al momento: "Thu Jan 01 01:00:00
1970".
Por ejemplo, si el server nos informa de que una Gline
fue establecida en 8736924372, podemos ver, en formato más
comprensible, la hora y la fecha que eso supone con la
orden:
//echo
-a $asctime(8736924372)
$date
Devuelve la fecha actual en formato: día/mes/año. Como
ejemplo introduzca la siguiente orden:
//echo
-a $date
Obtendrá una respuesta como: 19/05/98
$adate
Es igual a $date, pero devuelve al fecha en
formato americano, es decir: mes/día/año
$day
Devuelve el nombre del día actual de la semana, en inglés
claro ;)
$duration(nº)
Devuelve el número especificado de segundos
transformado al formato: semanas/días/horas/minutos/segundos.
Por ejemplo:
//echo
-s $duration($ctime)
Esta orden devolverá el tiempo transcurrido desde las 0
horas de 1 de enero de 1970 hasta el momento presente,
en formato semanas/días/horas/minutos/segundos.
$fulldate
Devuelve la fecha en formato largo, por ejemplo: Tue May
19 13:17:08 1998
$idle
Devuelve nuestro actual tiempo idle, es decir, el tiempo
transcurrido desde que enviamos el último mensaje a
IRC.
$ltimer
Devuelve el número del
último timer activado con el comando /timer
$online
Devuelve el número de
segundos transcurridos desde que se puso a cero el reloj
contador del mIRC, es decir, los segundos transcurridos
desde que nos conectamos en la sesión actual, o desde
una fecha determinada, dependiendo como tengamos
configurado el dialogo TIMER (menú TOOLS).
$ticks
Devuelve el número de
ticks desde que se inició el sistema operativo. Esta es
una unidad de medida propia del reloj interno de nuestro
ordenador.
$time
Devuelve la hora actual
en formato horas/minutos/segundos.
$timer(0)
Devuelve el número de
timers activos en el momento actual (ver comando TIMER).
$timer(nº)[.propiedad]
Devuelve
todas las propiedades de timer cuyo número se
especifica: número de repeticiones, retardo y tipo...
etc. Las propiedades que podemos usar son: com, time,
reps, delay, type.
Por ejemplo:
$timer(nº).com
Devuelve
el comando o comandos asociados al timer especificado.
$timer(nº).type
Devuelve el tipo de
status del timer especificado: online/offline.
$timestamp
Devuelve
la hora actual en formato: [xx:xx]. Por ejemplo: [13:34]
IDENTIFICADORES
DE NÚMEROS Y TEXTOS |
Son funciones para el tratamiento aritmético de números
y el manejo de cadenas de caracteres.
$abs(nº)
Devuelve el valor
absoluto de un número, es decir, ese mismo número pero
sin signo.
$asc(caracter)
Devuelve el número
ASCII asociado al carácter que le introduzcamos.
$calc(operaciones)
Devuelve
el resultado de las operaciones especificadas. Es útil
para realizar operaciones múltiples de una forma
sencilla. Por ejemplo: $calc(3.14159
* (2 ^ %x % 3) - ($ticks / (10000 + 1)))
El símbolo
"^" representa la potencia, el asterisco el
producto, y "%" la división. Evidentemente
"+" y "-" son la suma y la resta. No
confundir el operador de la división con el símbolo
"%" que precede a las variables (las cuales
también se pueden incluir en la expresión), en el caso
de estas el símbolo precede inmediatamente al nombre de
la variable, mientras que si se trata del operador de
división tendrá siempre espacios en blanco a ambos
lados
$chr(nº)
Devuelve
el carácter ASCII correspondiente al número
especificado. Por ejemplo:
$chr(65)
Devolverá el carácter A. Como se puede apreciar es la
operación inversa a la que realiza el identificador $asc.
$cos(N), $acos(N)
Devuelven el coseno y arcocoseno de un número.
$tan(N), $atan(N)
Devuelven la tangente y arcotangente de un número.
$count(cadena_1,cadena_2)
Devuelve el número de
veces que cadena_2 se encuentra repetida dentro de
cadena_1.
Por
ejemplo:
$count
(jajajajaja, ja) Devolverá: 5
$int(nº)
Devuelve
la parte entera de un número, sin redondear. Por
ejemplo:
$int(3,94159)
Devolverá: 3
$left(cadena,N)
Devuelve
los N primeros caracteres de una cadena, por ejemplo:
$left(goodbye,4)
Devolverá: good
$right(cadena,N)
Devuelve
los N últimos caracteres de una cadena, por ejemplo:
$right(othello,5)
Devolverá: hello
$len(cadena)
Devuelve el número de caracteres de una cadena,
incluidos los espacios en blanco que contenga.
$lower(texto)
Retorna
todos los caracteres de una cadena convertidos a minúsculas,
por ejemplo:
$lower(HOLA)
Devolverá: "hola"
$mid(cadena,posición,número)
Devuelve
el número especificado de caracteres de una cadena
desde una posición dada. Por ejemplo:
$mid(othello,3,4)
Retornará: "hell"
$pos(cadena,sub_cadena,número)
Devuelve
la posición en que una sub_cadena comienza dentro de
una cadena. El número sirve para especificar la
subcadena cuando esta se repite en la cadena principal.
Por ejemplo:
$pos(hello,el,1)
Devolverá: 2, puesto que la cadena "el"
comienza en el segundo carácter de la cadena
"hello"
$pos(hello,la)
Devolverá: $null (valor nulo), puesto que la subcadena
no se encuentra dentro de la cadena principal.
Si el número
especificado es 0 el identificador devolverá el número
de veces que la subcadena se repite, igual que el
identificador $count.
Nota: personalmente he detectado fallos en este
identificador en algunos combinaciones, por lo tanto úsese
con reservas y para casos contrastados.
$rand(valor1,valor2)
Devuelve
un número o letra aleatorio comprendido en el
rango [valor1-valor2] . Por ejemplo:
$rand(1,4)
Devolverá cualquier número entre 1 y 4, ambos
inclusive.
$remove(cadena,sub_cadena)
Devuelve
la primera cadena, de la que habrá suprimido la primera
ocurrencia expresada en sub_cadena. Por ejemplo:
$remove(abcdefg,cd)
Devolverá: "abefg"
$replace(texto,cadena,reemplazo)
Busca una
cadena dentro de un texto, y la reemplaza por otra
especificada. Por ejemplo:
$replace(1234567,34,abc)
Devolverá: "12abc567"
$round(número,N)
Devuelve
un número especificado, con solo los N primeros
decimales. Por ejemplo:
$round(3.14159,2)
Devolverá: 3.14
$strip(texto)
Devuelve
un texto del que eliminará los posibles códigos de
colores, negrita y subrayado.
$str(texto,N)
Devuelve
un texto dado repetido N veces.
$str(ho,3)
Devolverá: "hohoho"
$upper(texto)
Devuelve un texto dado con todas las letras pasada a mayúsculas
IDENTIFICADORES
DE FICHEROS Y DIRECTORIOS
|
Estas funciones permiten manipular y sacar información
de nuestra estructura de ficheros y directorios en disco
desde la sesión de mIRC, así como analizar aquellos
que están relacionados con el propio programa mIRC.
$alias(n)
Devuelve
el nombre de n-ésimo fichero de alias cargado en ese
momento. Si se especifica un 0 devolverá el número de
ficheros de alias que se encuentran cargados.
Es posible
también especificar un nombre de fichero en lugar del número,
la utilidad de esto es que el identificador devolverá $null
si ese nombre de fichero no corresponde a ninguno de los
ficheros de alias cargados en ese momento, e puede
aprovechar en expresiones del tipo IF-ELSE (ver capítulo
acerca de la estrutura IF-ELSE).
Ejemplos:
$alias(0)
Devuelve el número de ficheros de alias cargados en ese
momento.
$alias(2)
Devuelve el nombre del segundo fichero de alias cargado
en ese momento.
$alias(aliases.ini)
Devuelve $null si el fichero de alias especificado no
está cargado.
$dir, $sdir, $file y $hfile
Presentan
un cuadro de dialogo desde el que permiten seleccionar
un fichero o directorio para ser utilizado dentro de la
especificación de un alias, popup, o rutina de script. $dir
presenta un dialogo desde donde se puede acceder a toda
la estructura de ficheros y directorios del disco
permitiendo seleccionar un fichero, mientras que $file
presenta solo los ficheros contenidos dentro de un
determinado directorio. En ambos casos se puede
especificar mediante el comodín "*" qué
tipos de ficheros se desea que aparezcan según su
extensión. $hfile es igual a $file con la
única diferencia de que presenta los ficheros
horizontalmente. $dir permite seleccionar un
directorio, es útil para casos en que no se desea que
se especifique un fichero, sino tan solo un directorio.
El formato
es: $dir[="Texto"]
<path> $file[="Texto"]
<path> $hfile[="texto"]
<path> $sdir[="Texto"]
<path> Por ejemplo, podemos
definir una opción de popups que reproduzca los
ficheros de tipo midi que hay dentro de un directorio
llamado "midis", del que podremos seleccionar
el que deseemos:
Música
midi: splay $file="Selecciona la música"
c:\midis\*.mid
Es útil
poner un símbolo $ adicional (dos en total) delante del
identidicador, de este modo, si no se selecciona ningún
fichero o directorio el comando no se ejecutará, de lo
contrario daría un mensaje de error de parámetro no
especificado.
Nota: no
usar estos especificadores para seleccionar un fichero a
enviar por DCC, puesto que este comando lleva ya
incorporado su propio dialogo de selección.
$exists(fichero)
Devuelve $true
si el fichero existe, y $false si no es así. Es
útil en instrucciones del tipo IF-ELSE.
$exists(c:\mirc\mirc.exe)
Devolverá $true o $false.
$findfile(directorio, tipo_de_fichero, número)
Busca en
el directorio especificado (y en todos sus
subdirectorios), a todos los ficheros de un determinado
tipo, y presenta el path y el nombre del que tiene el número
de orden indicado. Si el número es 0 presentará toda
la lista de ficheros encontrados de ese tipo. Por
ejemplo:
$findfile(c:\mirc,*.exe,1)
Devolverá: c:\mirc\mirc.exe $findfile(c:\,
auto*.*,1) Devolverá: c:\autoexec.bat
$getdir
Devuelve
el directorio que tengamos especificado en el diálogo
DCC options, como destino por defecto para las
recepciones DCC.
$getdir(tipo_fichero)
Devuelve
el directorio que tengamos especificado en el diálogo
DCC options, como destino para las recepciones DCC de
ficheros del tipo especificado. Por ejemplo:
$getdir(*.txt)
$lines(fichero)
Devuelve
el número de líneas que tiene un fichero de texto.
$lines(c:\irc\kicks.txt)
Devolverá el número de filas del fichero:
c:\irc\kicks.txt
$lof(fichero)
Devuelve
el tamaño en bytes de un fichero especificado.
$logdir
Devuelve
el directorio especificado en la sección Loggin del diálogo
File/options, es decir, el direcctorio en los que se
guardarán las copias (logs).
$mididir
Devuelve
el directorio especificado para los ficheros Midi en la
sección Sound Requests del diálogo File/options, es
decir, aquel en el que mIRC buscará un fichero de
extensión MID ante un requerimiento CTCP MIDI.
$nofile(fichero)
Devuelve
el path o ruta de un fichero especificado. Por ejemplo:
$nofile(c:\mirc\mirc32.exe)
Devolverá: c:\mirc\
$nopath(ruta y fichero)
Devuelve
el nombre del fichero especificado, sin incluir el path.
Por ejemplo:
$nopath(c:\mirc\mirc.exe)
Devolverá mirc.exe
$mircdir
Devuelve
el path donde se encuentra actualmente el programa mIRC.
$mircini
Devuelve
el nombre del fichero .ini principal del
directorio donde se encuentra el mIRC. Este es
normalmente: mirc.ini.
$read
Lee una línea
aleatoria de un fichero de texto, y la inserta dentro
del alias en que se esté utilizando, interpretando esta
línea como un comando de mIRC. Su formato es:
$read [-nL<número>]
[-s<texto>] <fichero>
El parámetro
"-L<número>" permite especificar
un número concreto de línea del fichero.
El parámetro "-n" permite interpretar
literalmente la línea, no como un comando.
El parámetro "-s<texto>"
devuelve la primera línea que comience por el texto
especificado.
Ejemplos:
/say
$read c:\funny.txt
Imprimirá en pantalla una línea aleatoria del fichero
c:\funny.txt.
/say
$read -l24 c:\funny.txt
Imprimirá la línea 24 del fichero.
/pateo
/kick # $1 $read kicks.txt
Hará un kick del nick especificado dando como razón
una línea elegida al azar del fichero
"kicks.txt"
/say
$read -smirc info.txt
Busca una línea dentro del fichero "info.txt"
que comience por "mirc", e imprime en pantalla
el resto de la línea.
NOTA: si
la primera línea del fichero es un número el programa
entenderá que representa el número total de líneas
del fichero; esto acelerará considerablemente la
ejecución de $read. En caso de que
especifiquemos el 0 como número de línea, y la primera
de ellas sea un número, el identificador devolverá
dicho número.
$readini
Lee
información de un fichero .ini e inserta la fila
correspondiente dentro del alias para su interpretación
como un comando. El formato es:
$readini <-n><fichero>
<sección> <item>
Por
ejemplo:
/echo
$readini mirc.ini mIRC nick
Presentará
nuestro nick actual tomándolo del fichero mirc.ini
El parámetro
"-n" permite interpretar literalmente
la línea, no como un comando.
$script(N/fichero)
Devuelve
el nombre del n-ésimo fichero de script cargado. Si se
especifica un nombre de fichero de script en lugar de un
número, devolverá este mismo nombre, o $null si dicho
fichero no se encuentra cargado. Ejemplos:
$script(0)
Devuelve el número de ficheros de script cargados.
$script(2)
Devuelve el nombre del segundo fichero de script.
$script(moo.txt)
Devuelve $null si el fichero no está cargado, o moo.txt
si lo está.
$wavedir
Devuelve
el directorio especificado para los ficheros WAV en la
sección Sound Requests del diálogo File/options.
IDENTIFICADORES
DE NICKS Y DIRECCIONES
|
Algunas de las funciones más interesantes del mIRC se
encuentran aquí. Una colección de identificadores útiles
para el manejo y automatización de labores
relaccionadas con los nicks y su dirección de conexión
al IRC e Internet.
$address(nick,tipo)
Busca en
la lista interna de direcciones la dirección asociada
al nick especificado. Los tipos son los que se describen
en el identificador $mask. Por ejemplo:
$address(nick,1)
Devuelve el formato: nick!User_ID@dominio.host
Si la
lista interna no contiene el nick especificado, o se
encuentra desactivada, se devolverá $null.
$comchan(nick,nº)
Devuelve
los canales en que nos encontramos nosotros junto al
nick especificado. Por ejemplo:
$comchan(nick,0)
Devuelve todos los canales en que estamos nosotros y ese
nick.
$comchan(nick,1)
Devuelve el primer canal en que nos encontramos junto a
ese nick
$ial(máscara,nº)[.propiedad]
Devuelve direcciones de
la lista interna de direcciones.
Propiedades: nick,
user, host, addr.
Ejemplos:
$ial(*!*@*.demon.co.uk,0)
Devuelve todas las direcciones que concuerdan con la máscara
especificada.
$ial(*!*@*.demon.co.uk,3)
Devuelve la tercera dirección de la lista que concuerda
con la máscara especificada.
$ial(*!*@*.com,0).nick
Devuelve el nick que concuerda con la máscara.
$ial(*!*@*.com,4).user
Devuelve el User_ID que concuerda con la máscara.
Para escanear todas las
direcciones de la lista interna se puede usar: $ial(*,0).
$ialchan(máscara,#canal,nº)
Igual al anterior pero
solo referido a la lista de ocupantes de un canal
especificado.
$level(address)
Busca dentro de nuestra
lista de acceso remoto el usuario con la dirección
especificada y devuelve su nivel de acceso.
$link(N)[.propiedad]
Devuelve el n-ésimo
server de las lista de servers enlazados en la actual
red de IRC.
Propiedades: addr,
ip, level, info.
Ejemplos:
$link(0)
Devuelve el número de servers enlazados
$link(1)
Devuelve el primer server de la lista de links
$longip(address)
Convierte ina dirección IP en su formato en entero
largo, y viceversa.
$maddress(máscara)
Busca el la lista interna de usuarios y devuelve la
dirección del primer usuario que corresponde con la máscara
especificada.
$mask(dirección,tipo)
Devuelve
la máscara correspondiente al tipo especificado, para
una dirección dada. Por ejemplo:
$mask(nick!khaled@mardam.demon.co.uk,1)
Devolverá:
*!*khaled@mardam.demon.co.uk
$mask(nick!khaled@mardam.demon.co.uk,2)
Devolverá:
*!*@mardam.demon.co.uk
Los tipos de máscara
aplicables son los siguientes:
- 0: *!User
ID@host.dominio
- 1: *!* User
ID@host.dominio
- 2: *!*@host.dominio
- 3: *!* User
ID@*.dominio
- 4: *!*@*.dominio
- 5: nick! User
ID@host.dominio
- 6: nick!* User
ID@host.dominio
- 7:
nick!*@host.dominio
- 8: nick!* User
ID@*.dominio
- 9: nick!*@*.dominio
La utilidad de este
identificador es su uso en otros identificadores y
comandos.
$me
Devuelve nuestro actual
nick.
$nick(#canal,N)
Devuelve el n-ésimo
nick de la lista de nicks del canal especificado. Si
ponemos 0 devolverá en número de ocupantes del canal.
$nopnick(#canal,N)
Devuelve el enésimo
nick de la lista de nicks que no tiene estatus de
operador del canal especificado. Si ponemos 0 devolverá
en número de no operadores del canal
$notify(N)[.propidad]
Igual a los anteriores
pero referido a los nicks de nuestra lista de
notificaciones. Además tiene las propiedades: note,
sound, y whois.
$vnick(#canal,N)
Igual a los anteriores
pero referido a los nicks que tengan voz dentro del
canal especificado
$nvnick(#canal,N)
Igual a los anteriores
pero referido a los nicks que no tengan voz dentro del
canal especificado
$opnick(#canal,N)
Igual los anteriores,
pero referido solo a los nicks que tengan estatus de
operadores del canal
$snicks
Devuelve
en una línea, separados por comas, todos los nicks que
tengamos seleccionados de la lista de nicks del canal.
He mantenido el nombre de TOKEN para
clasificar a este tipo de identificadores, tal como lo
hace la ayuda de mIRC, porque es como se las alude
normalmente en este "mundillo" y se trata de
un grupo de funciones con una finalidad muy específica:
el tratamiento de cadenas de caracteres, considerándolas
como una serie de elementos individuales separados todos
ellos entré sí por un carácter concreto.
Pensemos
por ejemplo en una frase cualquiera; estará formada por
una serie de palabras que se pueden identificar
individualmente, aunque no entendamos su significado,
porque tienen siempre un caracter ASCII concreto que las
separa: el espacio en blanco. Otro ejemplo es la ruta de
acceso completa de un fichero en nuestro disco duro, un
caso:
c:\musica\midis\películas\terminator.mid
Esta línea no es más que una cadena de caracteres que
agrupa una serie de elementos individuales,
identificables por el separador que hay entre ellos: la
barra invertida: "\". Los identificadores
TOKEN nos permitirán tomar cadenas de este tipo y
manejar sus elementos, añadiendo, eliminando,
sustituyendo... etc los que nosotros queramos, con solo
especificar en la función correspondiente cual es el
separador común que hay entre ellos (este separador hay
que identificarlo siempre mediante su correspondiente código
ASCII; por ejemplo, el código del espacio en blanco es
el 32 y el del punto el 46).
La gran utilidad de los identificadores TOKEN es que nos
permiten hacer una buena emulación de lo que en
programación se conoce como "tratamiento de
arrays", es decir, manejar comodamente variables
cuyo contenido es a su vez un conjunto de variables,
todas ellas del mismo tipo, agrupadas para facilitar su
manejo, e identificables individualmente por un índice.
Veamos los que están disponibles:
$addtok(cadena,elemento,separador)
Añade un nuevo elemento al final de la serie. Por
ejemplo, hemos creado una variable conteniendo una serie
de mombres:
set
%amigos Juan Antonio Pedro Luis
Desde este momento es indistinto usar la variable %amigos
en el identificador o especificar la cadena completa: Juan
Antonio Pedro Luis. Para el identificador no es más
que una serie de elementos separados por un espacio en
blanco. Podemos usarlo para añadir un nuevo elemento a
la variable, separado de los demás por un espacio en
blanco, haciendo:
$addtok(%amigos,Manuel,32)
Ahora la variable contendrá: Juan Antonio Pedro Luis
Manuel. Podremos verlo facilmente con una orden que
nos lo imprima en la ventana de estatus:
//echo
-s %amigos
$instok(cadena,elemento,posición,separador)
Es similar al anterior, permite añadir un elemento a la
cadena, pero insertándolo en la posición que deseemos
en lugar de al final de esta. Si especificamos una
posoción superior a la última lo añadirá al final de
la serie. Por ejemplo:
$instok(1
2 3 4 5,R,3,32)
Este ejemplo devolverá: 1 2 R 3 4 5
$puttok(cadena,elemento,posición,separador)
Sustituye el elemento que se encuentra en una
determinada posición por el que nosotros le
especificamos.
$deltok(cadena,posición,separador)
Devolverá la cadena, de la que habrá eliminado el
elemento que se encuentra en una determinada posición.
$gettok(cadena,posición,separador)
Nos devuelve el elemento de la cadena que se encuentra
en una determinada posición. Si la posición es
superior a la última nos devolverá $null. Por
ejemplo:
$gettok(Juan
Antonio Pedro Luis,2,32)
Esta función nos devolverá: "Antonio".
Si en lugar de posición ponemos el valor 0 nos
devolverá el número de elementos de la cadena.
También podemos indicar un rango de posiciones, es
decir, pedir todos los elementos entre dos posiciones
dadas, o una posición y el final:
$gettok(a.b.c.d.e,2-,46)
Devolverá desde la 2ª hasta el final: b.c.d.e $gettok(a.b.c.d.e,2-4,46)
Devolverá
los elementod desde el 2º al 4º: b.c.d
$findtok(cadena,elemento,número,separador)
Nos devolverá la posición el la que se encuentra el
elemento especificado dentro de la cadena. Si el
elemento no se encuentra devolverá $null.
El número sirve para señalarle a la función, en caso
de que encuentre mas de un elemento igual al señalado,
a cual de ellos nos referimos. Por ejemplo:
$findtok(A
B C C D C,c,3,32)
Este ejemplo
devolverá: 6, es decir, la posición del tercer
caracter "c" dentro de la cadena.
$remtok(cadena,elemento,número,separador)
Buscará
dentro de la cadena un elemento igual al indicado, si
hay varios elejirá el que hace el número de orden que
indicamos, y nos devolverá la misma cadena después de
haber eliminado este elemento.
$reptok(cadena,elemento,nuevo_elemento,número,separador)
Buscará dentro de la cadena un elemento igual al
indicado, si hay varios elejirá el que hace el número
de orden que indicamos, sustituirá este elemento por
uno nuevo especificado, y nos devolverá la cadena
resultante.
IDENTIFICADORES
DE VENTANAS |
Funciones que nos informan acerca de distintos aspectos
referios a las distintas ventanas abiertas en la sesión
de mIRC; ya sean de canal, chat privado, servidor de
ficheros, etc.
$active
Devuelve el nombre de
la ventana activa.
$appactive
Devuelve $true si mIRC es la aplicación activa
en ese momento, y $false si no lo es.
$chan(N\#canal)[.propiedad]
Devuelve información
sobre los canales en que nos encontramos.
Propiedades: topic,
mode, key, limit.
Si se especifica un
numero en vez de un canal, devuelve el nombre de ese
canal.
$chan(0)
Devuelve el número de canales en que nos encontramos.
$chan(2)
Devuelve el nombre del segundo canal en que nos
encontramos.
$chan(2).key
Devuelve la clave del segundo canal en que nos
encontramos.
También podemos
especificar un nombre de canal, pero solo devuelve
información sobre este si nos encontramos dentro de él.
$chan(#mIRC).mode
Devuelve los modos del canal #mirc.
$chat(N/nick)[.propiedad]
Devuelve información
sobre las ventanas de DCC chat abiertas. Propiedades: ip,
status.
Por ejemplo:
$chat(2).ip
Devuelve la IP del segundo DCC chat activo.
$fserv(N/nick)
Devuelve información
sobre las ventanas abiertas del servidor de ficheros.
Propiedades: ip,
status, cd (directorio abierto)
$get(N/nick)[.propiedades]
Devuelve información
sobre los DCC get en curso (recepción de ficheros).
Propiedades: ip,
status, file, size, rcvd, cps,
pc.
Ejemplos:
$get(0)
Devuelve el número de dcc gets en curso.
$get(2)
Devuelve el nick que envía el segundo DCC get
activo
$get(2).rcvd
Devuelve el número de bytes recibidos hasta el momento
en el segundo dcc get.
$get(2).cps
Devuelve el número de caracteres por segundo que se están
recibiendo en la segunda transmisión de ficheros
$get(3).pc
Devuelve el porcentaje transmitido en la tercera recepción
en curso.
$query(N/nick)[.address]
Devuelve el nick o la
dirección del enésimo query abierto.
Propiedad: address
Ejemplos:
$query(0)
Devuelve el número de querys abiertos.
$query(2)
Devuelve el nick del segundo query.
$query(1).address
Devuelve la dirección del primer query.
$send(N/nick)[.propiedad]
Devuelve información
sobre los envíos de ficheros en curso (DCC sends).
Propiedades: ip,
status, file, size, sent, cps,
pc.
Ejemplos:
$send(0)
Devuelve el número de ficheros que se están enviando.
$send(2)
Devuelve el nick de destino del segundo envío.
$send(1).sent
Devuelve el número de bytes enviados en el primer DCC
en curso.
$send(3).pc
Devuelve el porcentaje transferido en el tercer envío
en curso.
$send(3).status
Devuelve el estado (activo, inactivo, o en espera) del
tercer sed en curso.
Aquí cabrían todos los identificadores no detallados
anteriormente, que son muchos; pero, como ya he
comentado, gran cantidad de ellos está vinculados
necesariamente a ciertos eventos y no son aplicables
siempre, por lo que en generál dos dejarémos para el
capítulo de Eventos. Aquí incluiré una miscelánea de
más dificil clasificación de acuerdo a la clasificación
que hace el mIRC en sus ficheros de ayuda (como vengo
haciendo en el resto de este documento), y algunos más
que vayan surgiendo y encuentre inetesante añadir.
$away
Devuelve el valor $true
(verdadero) o $false (falso) Si estamos en estado
de away o no.
$bits
Devuelve 16 o 32, según tengamos la versión de 16 o 32
bits del mIRC.
$cb
Devuelve los primeros 256 caracteres contenidos en el
portapapeles.
$cr
Devuelve el carácter de retorno de carro. Es
equivalente a poner: $chr(13)
$ddename
Devuelve el nombre actualmente especicado para el
servidor DDE
$editbox(window)
Devuelve el texto contenido en la caja de edición (límea
de escritura) de una determinada ventana.
$email
Devuelve la dirección de mail especificada en la
correspondiente casilla del dialogo File/Setup.
$host
Devuelve el nombre del actual Local host.
$ignore(N)[.type]
Devuelve la dirección del enésimo elemento de la lista
de ignores.
$ignore(0)
Devuelve el número de elementos incluidos en la lista
de ignores.
$ignore(1)
Devuelve la dirección del primer elemento de la lista
de ignores.
$ignore(2).type
Devuelve el flag del segundo elemento de la lista de
ignores, es decir, el tipo de ignore impuesto: a los
querys, a los DCC...etc.
$inmidi e $inwave
Devuelve $true si se está reproduciendo un
fichero midi o wave respectivamente, de lo contrario
devuelve $false.
$ip
Devuelve nuestra dirección IP.
$lf
Devuelve el carácter
de salto de línea. Equivale a: $chr(10).
$port
Devuelve el número del
puerto del server en el que estamos conectados.
$server
Devuelve el nombre del server al que estamos conectados,
o $null si estamos desconectados.
$server(N)
Devuelve la dirección del enésimo server de la lista
de servers de File/Setup/IRC Server.
Propiedades: desc
(descripción), port (puerto), group
(grupo).
$server(0)
Devuelve el número de servers de la lista.
$server(2)
Devuelve la dirección del segundo server.
$server(2).desc
Devuelve la descripción del segundo server.
$server(3).port
Devuelve el puerto de conexión especificado para el
tercer server.
$url
Devuelve
la dirección URL de la página actualmente cargada en
el navegador. Ejemplo: /say
Estoy viendo la página: $url ... os la recomiendo!
$usermode
Devuelve nuestros actuales modos de usuario.
$version
Devuelve la versión del mIRC en uso.
$+
Este identificador insertado en una línea de instrucción
eliminará el espacio el espacio en blanco que se
encuentra a su derecha, y el que se encuentra a su
izquierda (ver la sección a Alias del mIRC).
$<número>-
Se puede usar $1 $2 ... $N para referirse a los parámetros
o palabras individuales de una línea de comando. Además
es posible especificar $nº- para referirse al parámetro
o palabra de la posición especificada, y todos los que
le siguen, y $nº_1-n_2º para referirse a todas la
palabras comprendidas entre dos posiciones especificadas
(ver la sección de Alias del mIRC).
$address
Devuelve la dirección de un usuario asociado a un
evento, en la forma: User_ID@host.dominio.
$fulladdress
Devuelve la dirección de un usuario asociado a un
evento, en la forma: nick!User_ID@host.dominio.
$group(N/#nombre)[.status]
Devuelve el nombre o estatus de un grupo de un script.
$group(0)
Devuelve el número de grupos del script.
$group(1)
Devuelve el nombre del primer grupo del script.
$group(1).status
Devuelve el estatus del primer grupo: on o off.
$group(#name)
Devuelve el estatus del grupo #name
$nick
Devuelve el nick de un
usuario asociado a un evento.
$ulevel
Devuelve el nivel de
acceso remoto de un usuario asociado a un evento.
<---Atrás
|