Introducción a mIRC

En esta seccion haremos un pequeño repaso por los comandos e identificadores básicos de mIRC.

Comandos:

  • join #canal <--- Te unes al canal indicado
  • part #canal mensaje <--- Sales del canal indicado, opcionalmente puedes especificar un mensaje de salida
  • quit mensaje <--- desconectas del servidor, opcionalmente se puede dejar un mensaje de salida
  • mode #canal +o nick <--- das op al nick indicado en el canal indicado
  • mode #canal -o nick <--- quitas op al nick indicado en el canal indicado
  • mode #canal +v nick
  • mode #canal -v nick
  • mode # +b nick <--- baneamos al nick indicado en el canal indicado
  • kick #canal nick <--- kikeamos al nick indicado del canal indicado
  • ban #canal nick <--- baneamos al nick indicado en el canal indicado
  • ban -uN #canal nick <--- pones un ban que pasados N segundos se auto-elimina
  • mode #canal +oo-o+v nick1 nick2 nick3 nick4 <--- damos op a nick1 y nick2, quitamos op a nick3 y damos voz a nick4
  • away mensaje <--- entramos away con el mensaje especificado. Si no se especifica mensaje, se sale del away
  • msg #canal/nick texto <--- envias el texto al canal o nick
  • amsg texto <--- mandas el texto indicado a todos los canales donde te encuentras
  • me texto <--- Haces un action con el texto indicado en el lugar que ejecutes el comandos
  • ame texto <---- haces un action a todos los canales dodne te encuentras
  • say texto <--- dices el texto en el canal o query que ejecutes el comando
  • titlebar texto <--- Ponemos el texto indicado en la titlebar del mIRC
  • Splay fichero <--- Reproduce el archivo de sonido especificado (.wav .mid .mp3)

Identificadores:

  • $chan Nos devuelve el canal en el que nos encontramos o en el que salta el evento
  • $nick Nos devuelve el nick que hace saltar el evento
  • $me Nos devuelve el nick actual que usamos
  • $time Nos devuelve la hora
  • $idle Nos devulve nuestro idle
  • $ip Nos devuelve nuestra ip

Otros comandos e identificadores de interes:

  • $calc Nos permite hacer operaciones. Ej: $calc(1 + 2) Nos devuelve 3
  • $eval(algo,N) Fuerza a que sea evaluado lo contenido entre los parentesis, N hace referencia al numero de veces o objetos que debe de evaluar. Ej: $eval(%variable,1) Fuerza la evaluación de la variable, y nos retorna su valor. Si no se indica N, el valor por defecto es 1
  • $+ Sirve para unir objetos. Ej: $nick $+ . $+ $chan == $nick.$canal
  • $+(objeto1,objeto2,objeto3) Une los objetos separados por comas (,)
  • Brackets: [ ] Fuerza a evaluar lo que esta contenido entre ellos
  • $address(nick,tipo) Nos devuelve el address tipo (1-9) del nick indicado*
  • $comchan(nick,N) Nos devuelve el canal que compartimos con nick y ocupa la posicion N. Si N es 0, nos devuelve el numero total de canales comunes con nick.
  • halt Para la ejecución del script o evento
  • haltdef Para la respuesta que mIRC daria de forma "interna" ante el evento.
  • $left(texto,N) Nos devuelve desde el 1º caracter comenzando por la izquierda hasta la posición N indicada
  • $right(texto,N) Nos devuelve desde el 1º caracter comenzando por la derecha hasta la posición N indicada
  • $mid(texto,N,C) Nos devuelve la cadena englobada por el caracter que ocupa la posición N y el que ocupa la posición C
  • $len(texto) Nos da el número de caracteres de la cadena
  • $rand(a,z) o $rand(1,10) Nos devuelve un número o letras englobada entre ambos de forma aleatoria
  • $replace(cadena,subcadena,nueva_subcadena) Busca en la cadena indicada, la subcadena dada y la reemplaza por la nueva subcadena (util para los completion)
  • $int(N) Nos devuelve el número sin decimales. Ej: $int(3.143664) == 3
  • $asc(C) Nos devuelve el ascii del caracter indicado. Ej: $asc(A) == 65
  • $chr(N) Nos devuelve el caracter del ascii indicado. Ej: $chr(65) == A

Puntualizaciones sobre $+, $+(), $eval y [ ]. Los $+ sirven para unir objetos pero esto no significa que el objeto es evaluado, si queremos que nuestro objeto sea evaluado debemos de utilizar $eval o brackets. Algunos ejemplos:

  • set %var $+ . $+ $nick $+ . $+ $chan == %var.$nick.$chan <--- Los objetos no son evaluados
  • set %var $+ . [ $+ [ $nick ] $+ . $+ [ $chan ] ] == %var.nick.#canal <--- Se fuerza la evaluacion de los objetos
  • set $+(%var.,$eval($nick,.,$chan,2)) == %var.nick.#canal

Esto es algo muy interesante, pues nos permitira setear "variables especificas" para cada nick. Util para protecciones... pues iremos incrementando "la variable de flood" de cada nick por separado.