Portale IRC - Guide scripts e snippet

venerdì 24 dicembre 2010

Buon Natale da mIRC-Scripting.blogspot.com!


Dallo staff di mirc-scripting.blogspot.com , un augurio di un sereno natale 2010 !

mercoledì 22 dicembre 2010

sabato 18 dicembre 2010

mIRC 7.17 - Nuova Release di mIRC!

Come da titolo, a pochi giorni dal natale, esce il mIRC v 7.17 , ecco di seguito la lista dei cambiamenti , direttamente tratta dal sito ufficiale -> http://www.mirc.com/whatsnew.txt
Changes:
1.Fixed $sock() saddr/sport bug with UDP connections.
2.Updated to OpenSSL 0.9.8q and PCRE v8.11 libraries.

30/11/2010 - mIRC v7.16

Changes:
1.Fixed hadd/hinc/hdec -cuNz bug that was causing data corruption in
  hash tables.
2.Fixed server/dcc connection bug that was causing "Address already in
  use" error message as well as issues with the $portfree() identifier.
3.Fixed custom /dll gpf bug when exiting mIRC for DLLs that were using
  window/message hooking.
4.Updated to OpenSSL 0.9.8p library.
5.Fixed Alt+Minus key combination issue with screen readers that use
  Alt+NumberPadMinus for zooming.
6.Fixed window focus bug when zoomed windows were switched/closed.
Per il download cliccate qui -> http://www.mirc.com/get.html

venerdì 17 dicembre 2010

Crea la Tua Chat! - Configurazione Ottimale della nostra chat!

Siete stanchi delle solite chat? Siete entrati in una chat e vi hanno bannato ingiustamente? Pensate di poter gestire una chat meglio di "loro" ? Cosa aspettate a creare una vostra chat? (invece di stressare su #IRChelp i poveri Helper?) scherzi a parte, avete mai pensato di creare una chat tutta vostra, dove le decisioni le prendete voi, e decidete voi chi far entrare e chi no, e l'argomento della vostra chat?
Bene.. siete pronti? Andiamo per ordine, per realizzare un chan occorrono  requisiti seguenti:
  • Il Vostro nickname dev'essere registrato ed identificato al nickserv;
  • Il Canale che volete creare dev'essere "libero" (ovvero non ancora registrato);
  • Il Canale che volete registrare non deve infrangere nessuna delle regole del /rules e del /motd;
Bene, per prima cosa entriamo nel chan che abbiamo deciso di creare.. esempio #Mirc-Scripting
/join #Mirc-Scripting
Se siamo da soli in chan, ed il chan non è registrato, dovremmo acquisire automaticamente lo status di Op @ , per maggior sicurezza controlliamo se il chan è già stato registrato da altri:
/cs info #Mirc-Scripting
Se il risultato è negativo (chan non registrato) procediamo a registrarlo:
/cs register #Mirc-Scripting [PASSWORD] [DESCRIZIONE]
quindi:
 /cs register #Mirc-Scripting Miap4ssw0rd Canale dedicato al mirc-scripting!
Bene, il chanserv dovrebbe settare i chmode +ntr e dovrebbe settarvi +q  (owner del chan), a questo punto il chan #Mirc-Scripting è registrato sotto il vostro nickname, procediamo alla personalizzazione:
Impostiamo il topic ovvero il "Titolo del chan" quello che tutti vedono quando entrano nel chan, oppure quando cercano nella lista dei chan con li comando /list:
/topic #Mirc-Scripting [TESTODELTOPIC]
/topic #Mirc-Scripting Il Miglior Chan di Mirc Scripting di IRCgate.it !!! -
Bene, ora "proteggiamo" il nostro TOPIC da cambiamenti indesiderati:
/cs set #Mirc-Scripting TOPICLOCK ON
Ora, cosa manca? ma certo, il messaggio di benvenuto, ovvero il messaggio che il chanserv dà all'utente che entra.. una sotra di messaggio di benvenuto (dove magari dare qualche dritta sulla permanenza in chan):
/cs SET #Mirc-Scripting ENTRYMSG [TESTODELMSG]
 /cs SET #Mirc-Scripting Benvenuto nel mio chan! Mi raccomando Comportati bene!
Bene, adesso passiamo allo staff! Di default nel chan sono attive le liste XOP , se vogliamo aggiungere nuovi componenti del nostro staff dobbiamo controllare che abbiano il nickname registrato e poi possiamo "addarli" in questo modo:
/cs VOP #Mirc-Scripting add NICK (per i Voice +)
/cs HOP #Mirc-Scripting add NICK (per gli Halfop %) 
/cs AOP #Mirc-Scripting add NICK (per Gli Aop @) 
/cs SOP #Mirc-Scripting add NICK (per i Sop &)
Ovviamente sotituiamo a NICK , il nick del nostro amico da "addare"..
 Ora mancano gli utenti! Come fare per attirarli?
Beh mica posso dirvi tutto io.. Rendete interessante il vostro chan! Giochi, Argomenti interessanti.. usate la fantasia..

Questa è una "configurazione di base" di un chan IRC, sicuramente tornerò sull'argomento per approfondire i vari settaggi che permettono di "cucire" un chan sulle nostre esigenze.

Buon Divertimento!

giovedì 16 dicembre 2010

Comandi rapidi by on *:INPUT: Uso di $null e ($2)

La scorsa volta abbiamo parlato di una serie di comandi rapidi by on *:INPUT:*: , adesso vi mostro uno snippet dal mio mIRC, in cui utilizzo l'identificatore $2 racchiuso fra parentesi tonde -> ($2) e l'identificatore $null

on *:INPUT:*: {
if ($1 == .vop) && ($2 == $null) { /mode $chan +v $me }
elseif ($1 == .vop) && ($2) { /mode $chan +v $$2 }
if ($1 == .devop) && ($2 == $null) { /mode $chan -v $me }
elseif ($1 == .devop) && ($2) { /mode $chan -v $$2 }
if ($1 == .halfop) && ($2 == $null) { /mode $chan +h $me }
elseif ($1 == .halfop) && ($2) { /mode $chan +h $$2 }
if ($1 == .dehalfop) && ($2 == $null) { /mode $chan -h $me }
elseif ($1 == .dehalfop) && ($2) { /mode $chan -h $$2 }
if ($1 == .op) && ($2 == $null) { /mode $chan +o $me }
elseif ($1 == .op) && ($2) { /mode $chan +o $$2 }
if ($1 == .deop) && ($2 == $null) { /mode $chan -o $me }
elseif ($1 == .deop) && ($2) { /mode $chan -o $$2 }
if ($1 == .protect) && ($2 == $null) { /mode $chan +a $me
/cs protect $chan $me }
elseif ($1 == .protect) && ($2) { /mode $chan +a $$2 }
if ($1 == .deprotect) && ($2 == $null) { /mode $chan -a $me
/cs deprotect $chan $me }
elseif ($1 == .deprotect) && ($2) { /mode $chan -a $$2 }
if ($1 == .owner) && ($2 == $null) { /mode $chan +q $me
/cs owner $chan }
elseif ($1 == .owner) && ($2) { /mode $chan +q $$2 }
if ($1 == .deowner) && ($2 == $null) { /mode $chan -q $me
/cs deowner $chan }
elseif ($1 == .deowner) && ($2) { /mode $chan -q $$2 }
}

Come potete vedere, analizzando lo snippet, lo script dice che:
  • on *:INPUT:*: { ;Quando immetto un qualsiasi input dal mio client;
  • if ($1 == .op) && ( $2 == $null) { ; E, tale input corrisponde a .op , e tale input non è seguito da nulla $null ;
  • /mode $chan +o $me } ; Dammi lo status di Op ;
  • eleseif ($1 == .op) && ($2) { ; se invece, l'input è .op ma $2 "Esiste" ($2);
  • /mode $chan +o $2 { ;dai lo status di op a $2;
  • }
Link al Paste del code -> on *:INPUT:*: by mirc-scripting.blogspot.com

mIRC 7.15 - L'ultima opera di Khaled Mardam-Bey

L' 08/11/2010 Khaled Mardam-Bey ha rilasciato mIRC v7.15 l'ultima versione del notissimo client IRC,
personalmente lo uso da 15 giorni e lo trovo estremamente rapido e stabile, di seguito i cambiamenti e le migliorie effettuate in quest'ultimo step evolutivo di mIRC:

Changes:
1.Fixed window focus bug when mIRC is restored from a minimized state.
2.Changed /ban to allow more channel user modes to use it.
3.Changed $mklogfn() to only return a partial path when the "Make
  folders" option is enabled in the Logging dialog.
4.Fixed $sfile() and other file dialogs not returning file extensions
  if "Hide file extensions" is enabled in Explorer in Windows 7.
5.Changed /sockwrite to send data immediately instead of queuing it
  which should speed up transfers.
6.Added scrollbar buttons back to switchbar when many windows are open.
7.Changed the way mIRC exits when Windows is shutdown which should
  prevent lost mirc.ini settings for some users.
8.Changed CAP command to not display error message during logon for
  servers that do not support it.
9.Fixed idle color not being reset immediately when using /msg command.
10.Fixed hadd/hinc/hdec -cuNz bugs, should now work like set/inc/dec.
Se volete provarlo anche voi (ve lo consiglio) Cliccate Qui -> Download mIRC 7.15

mercoledì 15 dicembre 2010

Bot Remote Control - Comandare un bot tramite on *:TEXT:

Quanti di voi nel proprio chan hanno un simpatico bot giochi, bot meteo, bot ansa o simili?
Molti credo.. Questi bot hanno molte funzioni, ma ci costringono continuamente a cambiare "window" per settare, cambiare, far entrare in un chan, fare uscire da un altro chan.. bene, gli on *:TEXT: possono venirci in aiuto, vediamo un esempio:
on *:TEXT:*:#: {
  if ($1 == !join) { /join $2 }
  if ($1 == !part) { /part $2 }
  if ($1 == !quit) { /quit Richiesto da $nick }
  if ($1 == !dillo) { msg $chan $2 }
}
Quando si digita in chan ($chan) come prima parola ($1) una delle seguenti: !join,!part,!quit,!dillo - il bot eseguirà i comandi indicati a lato, ovvero:
[@voi] !join #canalemio
[%bot] *** Has Joined #canalemio ***
[@voi] !part #canalemio
[%bot] *** Has Left #canalemio ***
[@voi] !Quit
[%bot] *** Quit: Utente disconnesso (Richiesto da @voi) ***
[@voi] !Dillo Sei bello!
[%bot] Sei Bello!
Ovviamente questo è il "Minimo" che si può fare, si possono sfruttare i notice ( on *:NOTICE: etc etc) i msg privati, l'unico limite è solo la fantasia, si può usare per fare "cambiare server" al bot, o semplicemente per disconnettersi (magari in caso di lag..) si può avviare un gioco (sfruttando gli alias presenti nel bot stesso ed evviandoli a seguito dell' on *:TEXT:*:#: )...
Questa non è una guida è uno spunto...
Buon Divertimento!

martedì 14 dicembre 2010

New Style - mIRC-Scripting.BlogSpot.com Si Rifà il Look!

Dopo 2 mesi dalla nascita di questo blog e vari tentativi di miglioramento, visto l'apprezzamento che stò avendo in quanto a visite quotidiane, ho deciso di rinnovare la grafica..
Non essendo un mago del Web Design, ho ripiegato su un tema "free" che ho reputato carino, minimal e leggero..
Che ne pensate?
Consigli sono sempre ben accetti :)
Commentate pure!

giovedì 9 dicembre 2010

Controllo Nick - Vedere Nick Precedenti di un Utente IRC

Quante volte vi sarà capitato di avere il sospetto che un utente con il nickname "Farfallina86" in precedenza vi abbia parlato con il nick "Bruno64" ? Sicuramente è un fatto sgradevole, ma con questo scriptino che lavora sulle "mask" ( Nick!Ident@host) degli utenti memorizzandole in hashtables, vi comunicherà in "echo" (lo vedrete solo voi) se un nickname ha precedentemente Joinato con un altro nickname, inoltre clickando con il tasto destro del mouse sul nick "sospetto" nella nicklist, attraverso il menù "Verifica Nick" -> "Nick Precedenti"potrete verificare quanto sopra, o attraverso il menù "azzera" resettare il tutto.. ma veniamo al "Cuore" del nostro script:
ON *:START: {
    hmake trackusers 10
  if ($isfile(trackusers.dat)) {
    hload trackusers trackusers.dat
  }
}
on *:JOIN:#: {
  if ($hget(trackusers,$address($nick,2))) {
    var %n = $ifmatch
      if ($istok(%n,$nick,32)) { var %d = $deltok(%n,$findtok(%n,$nick,1,32),32) }
    else { var %d = %n }
      if (!%d) { return }
    echo $colour(info) -ti2 $chan 4* $nick 3Prima è entrato con i/il nick $+ $iif($numtok(%d,32) > 1,s: 8,: 8) %d 
    if (!$istok(%n,$nick,32)) {
      hadd trackusers $address($nick,2) %n $nick
    }
  }
  else {
      hadd trackusers $address($nick,2) $nick
  }
}
on *:NICK: {
  if ($hget(trackusers,$address($newnick,2))) {
    var %n = $ifmatch
    if (!$istok(%n,$newnick,32)) {
        hadd trackusers $address($newnick,2) %n $newnick
    }
  }
  else {
    hadd trackusers $address($nick,2) $newnick
  }
}
menu nicklist {
  Verifica Nick
  .Nick Precedenti:{
    if (!$address($$1,2)) { echo $colour(info) -ti2 # 4* IAL non aggiornata per $$1 $+ , un attimo... | userhost $$1 | return }
    if ($hget(trackusers,$address($$1,2))) {
      var %n = $ifmatch
      if ($istok(%n,$$1,32)) { var %d = $deltok(%n,$findtok(%n,$$1,1,32),32) }
      else { var %d = %n }
      if (!%d) { goto notknown }
      echo $colour(info) -ti2 # 3* $$1 13Era conosciuto con i\il nick $+ $iif($numtok(%d,32) > 1,s: 8,: 8) %d
    }
    else {
      :notknown
      echo $colour(info) -ti2 # 4* $$1 13Nessun Risultato
    }
  }
  .Azzera:hdel trackusers $address($$1,2)
}
ON *:EXIT: {
  if ($hget(trackusers)) { hsave -o trackusers trackusers.dat }
}

lunedì 6 dicembre 2010

Ban Mask - Bannare in modo "efficace"

La stragrande maggioranza degli utenti che si ritrovano a fare i moderatori,non conoscono minimanente come dev'essere strutturato un ban e si affidano a script.. i quali 9 volte su 10 bannano in questo modo:
Prendiamo ad esempio questo utente: ---> Utentecattivo!Ident123@Host.provider.it
Utentecattivo!Ident123@Host.provider.it

Questa si chiama "mask" ed è l'insieme di Nick,Ident,Host
Gli script con il semplice utilizzo del "clic" del tasto destro sul nick e la selezione della voce "banna" 9 volte su 10 bannano l'intera mask,eseguono quindi questo comando:
/mode #nomecanale +b Utentecattivo!Ident123@Host.provider.it
in questo modo se l'utente è un minimo sveglio,cambia una delle 3 componenti della sua mask,(Nick,Ident,Host) e rientra nonostante il ban..
Tralasciando i metodi per cambiare Nick,Ident,Host (Semplicissimi i primi 2 un pò differente il discorso x l'host),
vediamo come impostare un ban "totale" su una mask:
Dividiamo la mask in 3 parti:
Nick
Ident
Host
Impostiamo 1 ban per ogni segmento della mask:
/mode #nomecanale +b Nick!*@*
/mode #nomecanale +b *!Ident@*
/mode #nomecanale +b *!*@Host
(Nel caso il tuo script lo consenta,anche la sintassi
/mode #nomecanale +bbb Nick!*@* *!Ident@* *!*@Host )

In questo modo l'utente indesiderato, avrà sicuramente più difficoltà a rientrare.

venerdì 3 dicembre 2010

Gradi di Accesso : VOP HOP AOP SOP FOUNDER + % @ & ~

Chiariamo una volta per tutte cosa sono i livelli di accesso comunemente chiamati  "gradi", ovvero le flag che nella nick list precedono il nostro e gli altri nick:
Nel 100% dei network IRC, le flag in uso sono + - % - @ - & - ~
Questi "gradi" ci dicono cosa possiamo e non possiamo fare nel canale in cui ci troviamo, piu alto è il grado, piu cose possiamo fare e a piu comandi abbiamo accesso, ma vediamoli nel dettaglio:
- ~ FOUNDER (solo al fondatore del chan), ed assume all'entrata nel canale lo stato +q;
- & SOP (SuperOp), all'entrata nel canale assume lo stato +a (protetto dal kick degli op (@)) e +o (operatore);
- @ AOP (AutoOp), all'entrata nel canale assume lo stato +o;
- % HOP (HalfOp), stato di mezzo operatore, assume all'entrata nel canale lo stato +h;
- + VOP (voice),Permette di "parlare" in un chan moderato (+m) Assume lo stato +v.

Per modificare le liste SOP, AOP, HOP, VOP nel caso di liste XOP (Di default) si usa il seguente comando:

Sintassi comando: /msg ChanServ GRADO canale ADD nick

Al posto di GRADO bisogna inserire SOP, AOP, HOP oppure VOP, al posto di canale il canale in cui volete modificare la lista, al posto di nick il nickname a cui volete assegnare il grado per salvarlo nella lista.


Nel caso di liste ACCESS (ovvero se abbiamo disattivato le liste Xop col comando /cs set #canale XOP OFF) i gradi saranno sempre gli stessi, ma per "Addare" un utente (Rigorosamente con nickname registrato) nelle liste bisognerà utilizzare una sintassi diversa:
/cs access #canale add NICK 3 (Voice)
/cs access #canale add NICK4 (Halfop)
/cs access #canale add NICK5 (Aop)
/cs access #canale add NICK 10 (Sop)
/cs access #canale add NICK 9999 (Cofounder) Non settabile con le XOP attive.

martedì 30 novembre 2010

mIRC - Messaggio a Tempo - Uso di Variabili e Timer

Questa volta utilizziamo Variabili e Timer del mIRC, per creare un "menù" che ci consenta, cliccando con il tasto destro del mouse in un qualsiasi #chan di settare,avviare,fermare,un messaggio a tempo,stabilendo:
  • Testo del Messaggio
  • Numero di Ripetizioni
  • Intervallo tra una ripetizione e l'altra
Andate nell'editor degli script ( Alt+R ) selezionate i "popup's" -> New o Nuovo ed incollate quanto segue:
@Messaggio a tempo:
.Setta nuovo Messaggio: {
  /set %msgtxt $$?="Inserisci il tuo messaggio"
  /set %msgrip $$?="Quante volte ripeto il messaggio?"
  /set %msgtime $$?="Ogni quanto ripeto il messaggio?"
  /timer %msgrip %msgtime msg $chan %msgtxt
  /echo -a [ 4 Messaggio a Tempo Avviato! ]
}
-
@Avvia Messaggio a tempo: {
  /echo -a [ 4 Messaggio a Tempo Avviato! ]
  /timermsg %msgrip %msgtime msg $chan %msgtxt
}
-
@Ferma Messaggio a tempo: {
  /echo -a [ 4 Messaggio a Tempo Fermato! ]
  /timermsg off
}

lunedì 29 novembre 2010

Mass /hop - Rejoin automatico in tutti i chan

; http://www.mirc-scripting.blogspot.com ;

;Copiare ed incollare in un nuovo remote questo script;
;permette di rejoinare automaticamente tutti i chan in cui ci si trova;
;il comando per eseguire lo script è /mhop; 
alias mhop {
  var %sn = 1, %sc = 1
  if ($1 == -a) {
    if (($status == connected) && ($chan(0) != 0)) {
      while (%sc <= $chan(0)) {
        var %c = %c $+ $chan(%sc) $+ $chr(44)
        inc %sc
      }
      .partall $2- | join %c
    }
  }
  else {
    while (%sn <= $scon(0)) {
      .scon %sn
      if (($status == connected) && ($chan(0) != 0)) {
        while (%sc <= $chan(0)) {
          var %c = %c $+ $chan(%sc) $+ $chr(44)
          inc %sc
        }
        var %exc = %exc .scon %sn join %c $chr(124), %sc = 1, %c
        .partall $1-
      }
      inc %sn
    }
    %exc
  }
}

venerdì 26 novembre 2010

Utilizzo della funzione echo - Primi Passi

Oggi, faremo qualche esempio dell'utilità della funzione echo
il comando /echo , funziona cosi:
/echo [color] [-deghiNtsaqlbfnmr] [#canale|[=]nick] <testo>
Scrive il testo nella finestra specificata usando il colore richiesto (da 0 a 15).

/echo 3 #angel_&_Devil

scrive "Test" in colore verde nella finestra del canale #angel_&_Devil, sempre che sia aperto.

Se non viene specificato un canale/nick, l'opzione -s scriverà sulla finestra status, l'opzione -d sulla finestra singola di messaggi e l'opzione -a sulla finestra attualmente attiva.

L'opzione  -e include la linea tra due linee separatrici.
L'opzione -iN lascia una rientranza di N caratteri.
L'opzione  -h costringerà ad adattare il testo allo spazio disponibile per scrivere cosicchè se la finestra verrà ridimensionata sarà possibile visualizzarlo correttamente.
L'opzione  -t aggiunge all'inizio della riga l'ora se l'opzione di segnalazione dell'ora è attiva per quella finestra.
L'opzione  -q non farà scrivere la riga se usato in un alias chiamato con prefisso ".".

L'opzione  -l applicherà i settaggi highlight alla riga scritta.
L'opzione -bf applicherà i settaggi di bip/lampeggio della finestra in cui si sta scrivendo.
L'opzione  -n non farà evidenziare l'icona nella barra dei pulsanti.
L'opzione -m indica che la riga sarà interpretata come un messaggio per l'utente, non come un evento.

Nota: Questo testo è visualizzato solamente nella propria finestra, non è inviato al server e quindi nessuno potrà vedero.

(cit. mirc Help)
Passiamo ad un piccolo esempio, utilizzando il comando /echo e l'evento on *:INPUT:*: { che abbiamo approfondito la volta passata;

Utilizzando i due "sopra citati" andremo a creare un mini-script che ci dica (a nostra richiesta) il numero di utenti, il numero di ban e l'ultimo ban eseguito su un canale dove ci troviamo, il tutto d'evesserci reso noto in "echo" ovvero, una comunicazione che vediamo solo noi, e non passa per il server.

on *:INPUT:*: {
if ($1 == .stats) {
/echo -s In $chan ci sono N° $nick($chan,0) Utenti
/echo -s Numero di Ban $ibl($chan,0)
/echo -s Ultimo Ban effettuato $ibl($chan,1)
}
}
Alla prossima!
mAx` Mirc-scripting.blogspot.com Angel & Devil IRCGate.it

 

lunedì 22 novembre 2010

Comandi rapidi by on *:INPUT:

Oggi iniziamo a conoscere uno dei molteplici eventi sui quali si può lavorare per creare o modificare il nostro script, parliamo di on *:INPUT:
L' on *:INPUT: funziona in questo modo, nel momento in cui noi, dal nostro mIRC immettiamo del testo (input) il nostro mIRC, esegue un output, ovvero, la sua risposta è l'esecuzione di un comando, in linea di massima, e in maniera semplificata il funzionamento è questo:

on *:INPUT:[Testo Immesso da noi]: {
Se,l'input corrisponde a [Testo Immesso da noi] {
[esegui comando 1]
[esegui comando 2]
}
}
In cosa può esserci utile? In un milione di modi.. un esempio? L'esecuzione automatica di comandi lunghi da digitare, esempio il ban o il kick di un utente, ma vediamo come:
Per Bannare un utente la sintassi corretta è: /mode #canale +b Nick!ident@Host
Se volessimo bannare l'Host *!*@Host il comando sarebbe /mode #canale +b *!*@host
Il comando è lungo, ed a volte non avremmo il tempo per digitare tutto, quindi utilizziamo un on *:INPUT:
Decidiamo che il comando per bannare sia !banna  ;
Il Codice sarà il seguente:
on *:INPUT:*: {
if ($1 == !banna) {
/mode $chan +b $address($$2,2) 
}
$1 -> Testo Immesso da noi, se corrisponde a !banna lo script parte,
$$2 -> La prima parola (NICK) che segue il comando !banna (Es. !banna Tizio_ )
$chan -> Il canale dove eseguiamo !banna
$address($$2,2) -> L'host di $$2 (Tizio_)

Gli on input possono essere utilizzati per abbreviare l'esecuzione di comandi lunghi come il cambio nickname rapido, il kick e qualsiasi comando vi venga in mente.. se utilizzati a dovere possono facilitarvi e di non poco la permanenza in IRC;

Alla prossima!
mAx` - Helper.IRCgate.it

venerdì 19 novembre 2010

Auto Identificazione - on CONNECT

;Auto Identify by mAx`;
;Per utilizzare questo Code Copia-> Apri il mirc -> Alt+R -> New -> Incolla;
on *:CONNECT: {
  /set %mionick $$?="Inserisci il tuo nickname registrato"
  /set %password $$?="Inserisci la password"
  /nick %mionick
  /msg nickserv identify %password
}

on *:DISCONNECT: {
  /set %password $null
  /set %nick $null
}

martedì 16 novembre 2010

Gli Identificatori - Tempo e Data

$asctime(N,formato)
Restituisce il valore di data e ora in formato di testo, associato al valore di tempo $ctime


$asctime(793947600) restituisce il valore dell'ora in formato di testo
$asctime(hh:nn:ss) restituisce l'ora attuale in questo formato
$asctime(793947600,dd/mm/yy) restituisce la data per questo valore

Possono anche essere usati gli identificatori $time(), $date() e $gmt() con le specifiche del formato, indicate più sotto.

Il parametro relativo al formato è opzionale. Se viene omesso, verrà usato il formato di default. Il formato può essere una combinazione dei seguenti elementi:


Anno yy 99
yyyy 1999
Mese m 1
mm 01
mmm Jan
mmmm January
Giorno d 1
dd 01
ddd Mon
dddd Monday
Ora h 5
hh 05
H 13
HH 13
Minuti n 1

nn 01
Secondi s 1
ss 01
AM/PM t a/p
tt am/pm
T A/P
TT AM/PM
Ordinal oo st/nd/rd/th
Timezone z +0
zz +0000
zzz +0000 GMT

Nota: puoi specificare sia il parametro N sia il formato, oppure solo uno dei due.


$ctime
Restituisce il numero dei secondi trascorsi dalle 00:00:00 (GMT) del giorno 1 gennaio 1970, in base all'ora del vostro sistema.

Restituisce il numero dei secondi trascorsi dalle 00:00:00 (GMT) del giorno 1 gennaio 1970, in base alla data che viene specificata.

$ctime (January 1 1970 00:00:00)
$ctime (3rd August 1987 3:46pm)
$ctime (21/4/72 1:30:37)
$ctime (Wed 1998-3-27 21:16)

$date
Restituisce il valore della data corrente nel formato Giorno/mese/anno.

Per il formato statunitense potete usare $adate.

$day
Restituisce il nome del giorno attuale, in inglese (per esempio: Monday, Tuesday, etc.).

$daylight
Restituisce l'offset dei secondi se l'ora legale è in vigore, altrimenti restituisce 0.

$duration(N)
Restituisce il numero di secondi specificato, in un formato settimane/giorni/ore/minuti/secondi.

$fulldate
Restituisce l'attuale data nel formato Wed Jun 26 21:41:02 1996.


$gmt
Restituisce l'attuale ora (GMT) nel formato di $ctime.

$idle
Restituisce il valore del proprio idle time (lo stesso che viene indicato in un ctcp finger).

$ltimer
Restituisce il numero dell'ultimo timer inizializzato tramite il comando /timer.

$online
Restituisce il numero di secondi trascorsi nel Timer dialog.

$ticks
Restituisce il numero di ticks da quando il vostro sistema operativo è stto attivato.


$time
Restituisce l'ora nel formato ore:minuti:secondi.

$timer(N/nome)
Restituisce il timer id dell'Nesimo timer nella relativa lista. E' anche possibile specificare il nome di un timer invece del numero. Questo identificatore lavora congiuntamente al comando /timer.

Proprietà: com, time, reps, delay, type, secs, mmt

$timer(0) restituisce il numero di timer attivi
$timer(1) restituisce il timer id del primo timer nella lista

$timer(1).com restituisce il comando del primo timer nella lista
$timer(3).type restituisce lo stato (online/offline) del 3° timer nella lista
$timer(3).secs restituisce il numero di secondi trascorsi prima che il timer fosse inizializzato
$timer(3).mmt restituisce $true se il timer è un multimedia timer

$timestamp
Restituisce l'ora attuale nel formato [xx:xx]

$timezone
Questo identificatore restituisce le attuali impostazioni della vostra fascia oraria in secondi. Per la versione a 16bit il valore di ritorno dipende dalla variabile d'ambiente della timezone


$timestampfmt
Restituisce la stampa del tempo nel formato definito nel messaggio di dialog.

$uptime(mirc | server | System, N)
Restituisce l'uptime in millesimi di secondi per il punto specificato.

N è opzionale, N=1 restituisce lo stesso formato come $duration(), N=2 restituisce lo stesos formato di $duration() ma con i secondi, e N=3 restituisce millesimi di secondi invece dei secondi.

Gli Identificatori - File e Cartelle

$abook(nick,N)
Restituisce informazioni riguardanti i nicknames inseriti nella lista dell' address book.

Proprietà: nick, info, email, website, noteN

Formati consentiti: $abook(nick) $abook(N) $abook(nick,N) dove il nick può essere anche un wildcard.

$alias(N/nomefile)
Restituisce il nome del file per l'Nsimo file di alias caricato. Se viene specificato un nome di file, restituisce $null se il file non è caricato.



$alias(0) restituisce il numero di file di alias caricati
$alias(2) restituisce il nome del secondo file di alias caricato
$alias(moo.txt) restituisce $null se il file non è caricato, oppure moo.txt se lo è.

$crc(nomefile)
Restituisce il CRC dei contenuti del file specificato.

$disk(C)
Restituisce informazioni riguardanti l'hard disk specificato.

Proprietà: type, free, label, size, unc


$disk(c:) restituisce $true se il disco c: esiste, altrimenti restituisce $false

La proprietà Unc restituisce il percorso del drive

$exists(nomefile)
Restituisce $true se il file esiste, altrimenti $false

$exists(c:.exe) restituisce $true o $false.

$file(nomefile)
Restituisce informazioni riguardanti il file specificato.

Proprietà: size, ctime, mtime, atime.

$file(nomefile).size restituisce la dimensione del file

$file(nomefile).ctime restituisce l'ora della creazione
$file(nomefile).mtime restituisce l'ora dell'ultima modifica
$file(nomefile).atime restituisce l'ora dell'ultimo accesso

$filtered

Restituisce il numero di righe che sono state filtrate con il comando /filter.

$finddir(dir,wildcard,N,depth,@window | comando)
Cerca all'interno della cartella specificata e delle sue sottocartelle in base all'Nsimo nome di cartella corrispondente alla specifica del wildcard e restituisce il path completo e la cartella se viene trovata.

Proprietà: versione corta del nome di un file

$finddir(c:,mirc*,1) cerca all'interno di c: la prima cartella il cui nome inizia con "mirc"


Se viene specificata una @window (con un listbox) invece del parametro N, mIRC riempirà il listabox della @window con i risultati.

Se viene specificato un comando, questo comando verrà eseguito su ogni cartella che viene trovata. E' possibile usare $1- in riferimento al nome della cartella, p.es:

//echo 1 $finddir($mircdir,*.*,0,echo $1-)

Se viene specificato il parametro depth, mIRC cercherà soltanto all'interno di N cartelle per trovare i parametri richiesti.


Nota: sia il parametro depth, sia @window/comando sono opzionali.

$findfile(dir,wildcard,N,depth,@window | comando)
Cerca all'interno della cartella specificata e delle sue sottocartelle in base all'Nsimo nome di file corrispondente alla specifica del wildcard e restituisce il path completo e il nome del file se viene trovato.

Proprietà: funzione corta del nome di un file lungo


$findfile(c:,*.exe,1) restituisce c:.exe

Se viene specificato il nome di una @window invece dell'Nsimo parametro, mIRC riempirà il listbox della @window con i risultati.

Se viene specificato un comando, questo comando verrà eseguito su ogni file che viene trovato. E' possibile usare $1- in riferimento al nome del file, p.es:

//echo 1 $findfile($mircdir,*.*,0,echo $1-)

Se viene specificato il parametro depth, mIRC cercherà soltanto all'interno di N cartelle per trovare i parametri richiesti.


Nota: sia il parametro depth, sia sia @window/comando sono opzionali.

$getdir
Restituisce il nome della cartella della DCC Get, specificata nella finestra delle opzioni.

$getdir(filespec)
Restituisce il nome della cartella della DCC Get per il tipo di file specificato.

$getdir(*.txt) restituisce, per esempio c:

$ini(file,argomento/N,elemento/N)
Restituisce il nome o l'Nsima posizione di argomento/elemento specificato, all'interno di un file ini.


$ini(mirc.ini,0) restituisce il numero di argomenti all'interno del file mirc.ini
$ini(mirc.ini,1) restituisce il nome del primo argomento all'interno del file mirc.ini
$ini(mirc.ini,help) restituisce l'Nsima posizione dell'argomento "help" se esiste, altrimenti restituisce 0

Il parametro elemento/N è opzionale. Se viene specificato N=0, viene restituito il numero totale di argomenti/elementi

$isdir(nomecartella)
Restituisce $true se la cartella indicata esiste, altrimenti restituisce $false


$isfile(nomefile)
Restituisce $true se il file indicato esiste, altrimenti restituisce $false

$lines(nomefile)
Restituisce il numero totale di linee all'interno del file di testo specificato.

$lines(c:.txt) restituisce il numero di linee all'interno del file c:.txt

$logdir
Restituisce il nome della cartella dedicata ai Logs, come specificato nella sezione "Logging" nella finestra delle opzioni.

$longfn(nomefile)

Restituisce la versione lunga di un nome di file abbreviato. Funziona solo nella versione a 32 bit, mentre in quella a 16 restituisce lo stesso nome di file.

$mididir
Restituisce la cartella Midispecificata nella sezione Sound Request della finestra delle Opzioni

$mircdir
Restituisce l'attuale cartella del programma mIRC

$mircexe
Restituisce il path completo e il nome del file dell'eseguibile del mIRC

$mircini

Restituisce il nome del principale file .ini del mIRC, solitamente mirc.ini

$mklogfn(filename)
Restituisce il formato del nome del file che viene usato per il logging. Inserisce la data nel nome del file, se è stata inserita l'opzione relativa nella finestra delle impostazioni.

E' anche possibile utilizzare $mknickfn(nickname) per fissare un nickname da utilizzare come nome di file, e $mkfn(filename), che semplicemente rimuove i caratteri non validi.


$nofile(nomefile)
Restituisce il path del file indicato, senza il nome del file.

$nopath(nomefile)
Restituisce il nome del file senza path.


$read (nomefile, [ntsw], [matchtext], [N]
Restituisce una linea singola del testo del file.

//echo $read(funny.txt)

$read leggerà in modo casuale le linee dal file Funny.txt

//echo $readfunny.txt, 24)

$read leggerà la linea 24 del file funny.txt

//kick # $1 $read(kicks.txt)

$read leggerà a caso tra le linee di kick nel file kicks.txt e le userà nel comando di kick

//echo $read(info.txt, s, mirc)

$read scruterà il file info.txt alla ricerca della prima linea che inizia con la parola mirc


//echo $read(help.txt, w, *help*)

$read scruterà il file help.txt alla ricerca del carattere *help*

Se viene specificato un comando s o w, si potrà introdurre il valore N per specificare da che linee del file partire con la ricerca, eg.:

//echo $read(version.txt, w, *mirc*, 100)

Se il parametro -n è specificato, allora la linea letta non sarà valutata e verrà trattata come testo semplice.

Se la prima linea del file è un numero, è necessario rappresentare il numero totale di linee nel file. Se viene specificato N=0, mirc restituirà il valore della prima linea se questa è un numero.


Se il parametro -t è specificato, mIRC tratterà la prima linea come testo semplice, anche se si tratta di un numero.

$readn
Resituisce il numero di linee che saranno abbinate alla prossima chiamata del comando read(). Se nn viene travato alcun abbinamento $readn sarà impostato come 0

$readini(nomefile, [n], sezione, punto)
Restituisce la singola linea dal testo del file con estensione .ini

/echo $readini(mirc.ini mIRC nick)

Legge il proprio nick all'interno del file mirc.ini


Se il parametro -n è specificato, allora la linea letta verrà trattata come testo semplice .

$sdir(dir,titolo)
Espone e restituisce la cartella selezionata nel dialogo. Il titolo è opzionale.

$sfile(dir,title,oktext)
Espone e seleziona il nome del file selezionato. Il titolo e l' oktext sono opzionali.

//splay $sfile($wavedir,Choose a wave,Play it!)

$shortfn(nomefile)

Restituisce la versione abbreviata di un nome di file lungo. Lavora solo con la versione a 32 bit, mentre con la 16 bit restituisce lo stesso nome di file.

Gli Identificatori - Nick e Indirizzi

$address(nickname,tipo)
Cerca all'interno della IAL l'indirizzo associato al nickname specificato.


$address(nick,1) restituisce Nick!userid@dominio.host

Se la IAL non contiene il nickname corrispondente, l'identificatore restituisce il valore $null.

Vedi anche $mask() per una lista dei tipi.

$comchan(nick,N)
Restituisce i nomi dei canali in cui vi trovate sia voi che il nick indicato.

Proprietà: op, help, voice

$comchan(nick,0) restituisce il numero totale di canali comuni
$comchan(nick,1) restituisce il nome del primo canale comune

$comchan(nick,1).op restituisce $true se siete op su quel canale

$ial(mask,N)

Restituisce l'Nsimo indirizzo corrispondente alla mask indicata, all'interno della IAL .

$ialchan(mask,#,N)
Restituisce l'Nsimo indirizzo nel canale specificato, corrispondente alla mask nella IAL.

Proprietà: pnick

$ibl(#canale,N)
Restituisce l'Nsimo elemento nella Internal Ban List, oppure se N=0 restituisce il numero totale di elementi nella lista.

Proprietà: by, date, ctime



$ibl(1) restituisce il primo indirizzo nella ban list
$ibl(1).by restituisce l'indirizzo dell'utente che ha impostato il ban
$ibl(1).date restituisce la data in cui l'utente ha impostato il ban
$ibl(1).ctime restituisce la data del ban nel formato $ctime


Nota: vedi anche $chan() per ulteriori informazioni

$level(address)
Trova l'indirizzo corrispondente nella lista degli utenti e restituisce il corrispondente livello nella lista.


$level(*!*@mirc.com) restituisce =5,10,20,21,32

$link(N)
Restituisce l'Nsimo elemento nella finestra dei server linkati

Proprietà: addr, ip, level, info

$link(0) restituisce il numero totale di elementi nella finestra dei links
$link(1) restituisce l'indirizzo del primo server nella finestra dei links

$mask(indirizzo,tipo)
Restituisce una mask associata all'indirizzo e al tipo specificato


$mask(nick!khaled@mirc.com,1) restituisce *!*khaled@mirc.com
$mask(nick!khaled@mirc.com,2) restituisce *!*@mirc.com

I tipi disponibili sono:

0: *!user@host.domain
1: *!*user@host.domain
2: *!*@host.domain
3: *!*user@*.domain
4: *!*@*.domain
5: nick!user@host.domain
6: nick!*user@host.domain
7: nick!*@host.domain
8: nick!*user@*.domain
9: nick!*@*.domain

E' anche possibile specificare un tipo da 10 a 19 che corrisponde con le mask da 0 a 9, ma invece di utilizzare il widcard *, viene utilizzato il wildcard ? per sostituire parti dell'indirizzo.


Questa impostazione standard delle mask è usata anche negli altri identificatori e comandi.

$me
Restituisce il proprio nickname attuale.

$nick(#,N/nick,aohvr,aohvr)
Restituisce l'Nsimo nickname nelle nicklist dei canali, che si trova sul canale #.

Proprietà: colour, pnick

$nick(#mIRC,0) restituisce il numero totale dei nick su #mIRC
$nick(#mIRC,1) restituisce il primo nickname su #mIRC


Entrambi i parametri aohvr sono opzionali. Il primo specifica quali nick vorresti includere, il secondo specifica quali nick vorresti escludere, dove:

a = tutti i nick (all), o = operatori, h = helper, v = voiced, r = utenti regolari

$nick(#mIRC,1,o) restituisce il nick del primo op su #mIRC
$nick(#mIRC,0,a,o) restituisce il numero totali dei nick, escludendo gli op su #mIRC

La proprietà pnick restituisce il nickname in un formato .@%+nick


$notify(N/nick)
Restituisce l'Nsimo nickname nella lista dei nick.

Proprietà: ison, note, sound, whois, addr

$notify(0) restituisce il numero di nick nella lista notify
$notify(3) restituisce il terzo nick nella lista notify
$notify(3).ison restituisce $true se l'utente è su IRC, altrimenti $false
$notify(goat) restituisce la posizione del nickname "goat" nella lista notify

$snicks

Restituisce una lista dei nick selezionati all'interno della listbox del canale attivo, nel formato: nick1,nick2,...,nickN

$snick(#,N)
Restituisce l'Nsimo nick selezionato all'interno della listbox del canale #

$snick(#mIRC,0) restituisce il numero totale di nick selezionati su #mIRC
$snick(#mIRC,1) restituisce il primo nick selezionato su #mIRC

Nota: se il parametro N non viene specificato, l'identificatore restituisce tutti i nickname selezionati.


$snotify
Restituisce il nick selezionato nella listabox della lista notify

$snotify
Restituisce l'ennesimo numero nella lista dcc valida, oppure se N=0 ne restituisce il numero totale.

Gli Identificatori - Testo e Numeri

$abs(N)
Restituisce il valore assoluto del numero N


$abs(5) restituisce 5
$abs(-1) restituisce 1

$and(A,B)
Restituisce il valore binario di (A and B)

$asc(C)
Restituisce il codice ascii del carattere C

$asc(A) restituisce 65
$asc(*) restituisce 42

$base(N,basein,baseout,zeropad,precision)
Converte il numero N da basein a baseout. Gli ultimi due parametri sono opzionali.

$base(15,10,16) restituisce F

$base(1.5,10,16) restituisce 1.8
$base(2,10,16,3) restituisce 002

$biton(A,N)
Restituisce il valore di A, con l'Nsimo bit settato on

$bitoff(A,N)
Restituisce l'Nsimo valore di A, con l'Nsimo bit settato off

$bytes(N,bkmgt3)
Restituisce il numero di byte N formattato con virgole

Proprietà: suf.

Le opzioni bkmgt restituiscono il risultato in byte, kilobyte, etc.

La proprietà .suf unisce al risultato i suffissi b, k, M, G, T.


L'opzione 3 restituisce il risultato in una forma a tre cifre.

$calc(operazioni)
Restituisce il risultato delle operazioni specificate. Questo identificatore vi permette di svolgere facilmente anche delle operazioni multiple, per esempio:

$calc(3.14159 * (2 ^ %­x % 3) - ($ticks / (10000 + 1)))

$chr(N)
Restituisce il carattere corrispondente al codice ascii N

$chr(65) restituisce A
$chr(42) restituisce *


$cos(N) $acos(N)
Restituiscono rispettivamente il coseno e l'arcoseno di N

$count(stringa,sottostringa)
Restituisce il numero di volte che la sottostringa si ripete nella stringa

$count(hello,el) restituisce 1
$count(hello,l) restituisce 2

$encode(%­var | &binvar, mubt, N)
$decode(%­var | &binvar, mubt, N)
Codifica o decodifica il testo nella variabile %­var o in &binvar usando codifica Uuencode o Mime


Il secondo paragrafo consiste in alcune opzioni, dove m = mime, u = uucode (default), b = &binvar, e t = text (default).

La linea finale codificata è divisa in parti di 60 caratteri. E' possibile specificare N se si vuole che mIRC restituisca l'Nsima parte. N = 0 restituisce il numero totale di parti nella linea

Se si sta codificando/decodificando un &binvar, gli identificatori restituiscono il numero attuale di caratteri scritti all'interno del &binvar. Notare che la codifica utilizza il 33% in più dello spazio


Gli ultimi due parametri sono opzionali, i predefiniti sono uuencode, e N = 1.

$int(N)
Restituisce la parte intera di un numero che ha anche parte decimale

$int(3.14159) restituisce 3

$isbit(A,N)
Restituisce 1 se l'Nsimo bit è attivo

$islower(testo)
Restituisce $true se il testo è tutto in minuscolo.

$isupper(testo)
Restituisce $true se il testo è tutto maiuscolo.

$left(testo,N)

Restituisce i primi N caratteri di "testo", partendo da sinistra.

$left(goodbye,4) restituisce "good"

Se N è negativo, l'identificatore restituisce tutto il testo tranne gli N caratteri

$len(testo)
Restituisce la lunghezza del "testo"

$len(#mIRC) restituisce 5

$log(N)
Restituisce il logaritmo naturale di N

$longip(indirizzo)
Restituisce un indirizzo ip convertito in valori "long"

$longip(158.152.50.239) restituisce 2660774639

$longip(2660774639) restituisce 158.152.50.239

$lower(TESTO)
Restituisce il testo in minuscolo

$lower(CIAO) restituisce "ciao"

$mid(testo,S,N)
Restituisce gli N caratteri del testo, a partire dalla posizione S

$mid(othello,3,4) restituisce "hell"

Se N è zero, l'identificatore restituisce il numero di caratteri dalla posizione S alla fine.

E' anche possibile usare numeri negativi per S o N


$not(A)
Restituisce il valore binario di "not A"

$or(A,B)
Restituisce il valore binario di "A or B"

$ord(N)
Unisce il suffisso "st", "nd", "th" appropriato per N (1st, 2nd, etc.)

$pos(testo,stringa,N)
Restituisce l'Nsima occorrenza della stringa nel testo.

$pos(hello there,e,1) restituisce 2
$pos(hello there,e,2) restituisce 9
$pos(hello there,a,1) restituisce $null

Se N e' zero, l'identificatore restituisce il numero di volte che la stringa compare nel testo.


Nota: è possibile usare $poscs() per una versione case sensitive.

$rand(v1,v2)
Lavora in due modi. Utilizzando i numeri restituisce un valore casuale compreso tra v1 e v2. Con le lettere restituisce una lettera casuale compresa tra v1 e v2.

$rand(a,z) restituisce una lettera a caso nell'intervallo a, b, c, d, e, .... , z.
$rand(A,Z) restituisce una lettera a caso nell'intervallo A, B, C, D, E, .... , Z.
$rand(0,N) restituisce un numero casuale nell'intervallo 0, 1, 2, 3, 4, .... , N.


$remove(stringa,sottostringa,...)
Rimuove ogni occorrenza della sottostringa nella stringa.

$remove(abcdefg,cd) restituisce abefg

E' anche possibile specificare parametri multipli, separati da virgole:

$remove(abcdefg,a,c,e,g) restituisce bdf

Nota: e' anche possibile usare $removecs() per una versione case sensitive.

$replace(testo,stringa,nuovastringa,...)
Sostituisce la "stringa" presente nel testo, con la "nuovastringa".


$replace(abcdefg,cd,xyz) restituisce abxyzefg

E' anche possibile specificare parametri multipli:

$replace(abcdefg,a,A,b,B,c,C,d,D) restituisce ABCDefg

Nota: è anche possibile utilizzare $replacecs() per una versione case sensitive.

$right(testo,N)
Restituisce gli N caratteri del testo, partendo da destra.

$right(othello,5) restituisce hello

Se N è un valore negativo, restituisce tutto tranne N caratteri.


$round(N,D)
Restituisce il numero decimale N, indicando D cifre dopo la virgola.

$round(3.14159,2) restituisce 3.14

Il parametro D è opzionale.

$sin(N), $asin(N)
Restituiscono rispettivamente seno e arcseno di N.

$sqrt(N)
Restituisce la radice quadrata di N.

$str(testo,N)
Restituisce il testo ripetuto N volte.

$str(ho,3) restituisce la stringa hohoho.

$strip(testo,burcmo)

Restituisce il testo senza i parametri bold, underline, reverse e colore.

I parametri burcmo sono opzionali. Se usati, eliminano solo i control-codes specificati.

Le applicazioni m e o vengono settate tramite il Messages dialog.

$tan(N), $atan(N)
Restituiscono rispettivamente tangente e arctangente di N

$upper(testo)
Restituisce il testo convertito in maiuscolo.

$upper(ciao) restituisce CIAO


$wrap(testo, font, dimensione, larghezza, [word,] N)
Restituisce l'Nsima linea coperta nella larghezza specificata in pixel.

Se il parametro opzionale "word" è 1, il testo viene appeso al resto delle parole.

E' possibile specificare il valore zero per N, in modo da ottenere il numero totale di linee coperte.

$xor(A,B)
Restituisce A binario xor B.

Gli Idenrificatori - Token

$addtok(text,token,C)
Aggiunge un token alla fine del testo, ma solo se questo non è già presente nel testo stesso.


$addtok(a.b.c,d,46) restituisce a.b.c.d
$addtok(a.b.c.d,c,46) restituisce a.b.c.d

Il parametro C non è altro che il valore ascii del carattere di separazione del token.

Nota: $addtokcs() è la versione case-sensitive.

$deltok(text,N-N2,C)
Elimina l'Nsimo token dal testo.

$deltok(a.b.c.d,3,46) restituisce a.b.d
$deltok(a.b.c.d,2-3,46) restituisce a.d

E' anche possibile specificare un valore negativo per N.


$findtok(text,token,N,C)
Restituisce la posizione dell'Nsimo token corrispondente nel testo.

$findtok(a.b.c.d,c,1,46) restituisce 3
$findtok(a.b.c.d,e,1,46) restituisce $null

Specificando il valore zero per N, restituisce il numero totale di token corrispondenti.

Nota: $findtokcs() è la versione case-sensitive.

$gettok(text,N,C)
Restituisce l'Nsimo token nel testo.

$gettok(a.b.c.d.e,3,46) restituisce c

$gettok(a.b.c.d.e,9,46) restituisce $null

E' anche possibile specificare un intervallo di token:

$gettok(a.b.c.d.e,2-,46) restituisce l'intervallo dal secondo token in poi: b.c.d.e
$gettok(a.b.c.d.e,2-4,46) restituisce l'intervallo dal secondo al quarto token: b.c.d

E' anche possibile specificare un valore negativo per N.

$instok(text,token,N,C)
Inserisce un token nell'Nsima posizione del testo, anche se il token è già presente nel testo.


$instok(a.b.d,c,3,46) restituisce a.b.c.d
$instok(a.b.d,c,9,46) restituisce a.b.d.c

E' anche possibile specificare un valore negativo per N.

$istok(text,token,C)
Restituisce $true se il token è presente nel testo, altrimenti restituisce $false.

Nota: $istokcs() è la versione case-sensitive.

$matchtok(tokens,string,N,C)
Restituisce i token che contengono la stringa specificata.

$matchtok(one two three, e, 0, 32) restituisce 2

$matchtok(one two three, e, 2, 32) restituisce three

Specificando il valore zero per N, l'identificatore restituisce il numero totale di token.

Nota: $matchtokcs() è la versione case-sensitive.

$numtok(text,C)
Restituisce il numero di token nel testo.

$puttok(text,token,N,C)
Sovrascrive l'Nsimo token nel testo con un nuovo token.

$puttok(a.b.c.d,e,2,46) restituisce a.e.c.d

E' anche possibile specificare un valore negativo per N.


$remtok(text,token,N,C)
Rimuove l'Nsimo token corrispondente nel testo.

$remtok(a.b.c.d,b,1,46) restituisce a.c.d
$remtok(a.b.c.d,e,1,46) restituisce a.b.c.d
$remtok(a.c.c.d,c,1,46) restituisce a.c.d

Nota: $remtokcs() è la versione case-sensitive.

$reptok(text,token,new,N,C)
Sostituisce l'Nsimo token corrispondente nel testo con un nuovo token.

$reptok(a.b.c.d,b,e,1,46) restituisce a.e.c.d
$reptok(a.b.c.d,f,e,1,46) restituisce a.b.c.d

$reptok(a.b.a.c,a,e,2,46) restituisce a.b.e.c

Nota: $reptokcs() è la versione case-sensitive.

$sorttok(text,C,ncr)
Ordina i token nel testo.

$sorttok(e.d.c.b.a,46) restituisce a.b.c.d.e
$sorttok(1.3.5.2.4,46,nr) restituisce 5.4.3.2.1

L'impostazione predefinita è l'ordine alfabetico, ma è comunque possibile specificare i parametri: n = numeric sort, c = channel nick prefix sort, r = reverse sort.

Nota: $sorttokcs() è la versione case-sensitive.


$wildtok(tokens,wildstring,N,C)
Restituisce l'Nsimo token che corrisponde alla stringa contenente wildcard.

$wildtok(one two three, t*, 0, 32) restituisce 2
$wildtok(one two three, t*e, 1, 32) restituisce three

Se si specifica il valore zero per N, l'identificatore restituisce il numero totale di token corrispondenti.

Nota: $wildtokcs() è la versione case-sensitive.

Gli Identificatori - Identificatori Windows

$active
Restituisce il nome completo della corrente finestra attiva in mIRC.

Nota: Questo identificatore ha anche una controparte multi-server.

$appactive
Restituisce $true se mIRC è l'applicazione attiva, altrmienti restituisce $false.

$appstate
Restituisce lo stato della finestra del mIRC: minimized (rimpicciolito), maximized (ingrandito), normal (normale), hidden (nascosto), o tray (icona).


$chan(N/#)
Restituisce informazioni sui canali sui quali sei.

Proprietà: topic, mode, key, limit, ial, logfile, stamp, ibl, status

Se specifichi N, viene restituito il nome del canale numero N.


$chan(0) restituisce il numero di canali sui quali sei
$chan(2) restituisce il nome del secondo canale sul quale sei
$chan(2).key restituisce la password del secondo canale sul quale sei

$chan(4).ial restituisce $true se la Internal Address List contiene indirizzi di tutti gli utenti su questo canale, $false se non li contiene, oppure $inwho se mandi un /who #canale al server per riempire la IAL per questo canale e l'/who è ancora in progress.



$chan(1).ibl restituisce $true se mIRC ha già visto un /mode +b e ha la lista dei ban per quel canalel, o $inmode se un /mode +b viene listato in quel momento
. Vedere $ibl() per maggiori informazioni..


Se specifichi il nome di un canale, l'informazione viene restituita su quel canale ma solo se sei già nel canale stesso.


$chan(#mIRC).mode restituisce i modes del canale #mIRC.

La proprietà "status" restituisce il valore joining, joined, or kicked.

$chat(N/nick[,N])
Restituisce il nome della N finestra di dcc chat aperta.

Proprietà: ip, status, logfile, stamp

$chat(0) restituisce il numero totale delle dcc chat aperte
$chat(1) restituisce il nick della prima dcc chat
$chat(2).ip restituisce l'indirizzo ip della seconda dcc chat aperta


Se specifichi un nick e N, restituirà informazioni sulla finestra numero N per quel nick.

$fserv(N/nick,[N])
Restituisce il nome della N dcc chat aperta.

Proprietà: ip, status, cd

$fserv(0) restituisce il numero totale degli fserves aperti
$fserv(1) restituisce il nick del 1° fserve
$fserv(1).cd restituisce la corrente directory del 1° fserve

Se specifichi un nick e N, ti resituirà informazioni sulla finestra numero N per quel nick.


$get(N/nick,[N])
Restituisce il nick e il nome del file della N dcc get.

Proprietà: ip, status, file, path, size, rcvd, cps, pc, secs, done

$get(0) restituisce il numero totale delle dcc gets aperte
$get(2) restituisce il nick della 2a dcc get
$get(2).rcvd restituisce il numero di byte ricevuti dalla 2a dcc get
$get(2).cps restituisce il numero di caratteri trasferiti al secondo della 2a dcc

$get(3).pc restituisce la percentuale del trasferimento della 3a dcc get$get(1).secs restituisce il numero di secondi trascorsi dall'apertura della connessione
$get(1).done restituisce $true se il trasferimento è avvenuto con successo, altrimenti $false

Se specifichi un nick e N, ti restituirà alcune informazioni sulla N finestra di quel nick.

$query(N/nick)
Restituisce il nick della N query aperta.

Proprietà: addr, logfile, stamp


$query(0) restituisce il numero totale delle query aperte
$query(2) restituisce il nome della 1a query aperta
$query(1).addr restituisce l'indirizzo della 1a query, cmq bisogna notare che questo indirizzo non è visibile prima che l'utente ti abbia mandato un messaggio e inoltre l'indirizzo stesso potrebbe non essere corretto.

$send(N/nick[,N])
Restituisce il nick e il nome del file del N dcc send.


Proprietà: ip, status, file, path, size, sent, lra, cps, pc, secs, done$send(0) restituisce il numero totale dei dcc send

$send(2) restituisce il nick dell'utente del 2o dcc send
$send(2).sent restituisce il numero di bytes mandati dal 2o dcc send
$send(2).lra restituisce l'ultimo ack ricevuto dal 2o dcc send
$send(3).pc restituisce la percentuale del trasferimento del 3o dcc send
$send(3).status restituisce active (attivo), inactive (inattivo), o waiting (in attesa..) riferito al 3o dcc send

$send(1).secs restituisce il numero di secondi trascorsi dall'apertura della connessione
$send(1).done restituisce $true se il trasferimento è avvenuto con successo, altrimenti $false

Se specifichi un nick e N, ti restituirà alcune informazioni sulla N finestra di quel nick.

$wid
Restituisce l'id della finestra dello script corrente.

Gli Identificatori - Altri Identificatori

$+(n1,...,nN)
Combina tutti i parametri specificati, lo stesso che usare $+ tra ogni elemento.

$?*!="messaggio"
Mostra all'utente una finestra di input, e restituisce il risultato.

//echo $?="Come ti chiami?"
Se l'utente inserisce il proprio nome nell'editbox e preme il bottone OK, $? restituirà qualsiasi cosa sia stata inserita. Se l'utente preme il bottone Cancel, $? non restituisce nulla.

//echo $?*="Qual è la tua password?"
In questo caso $?* fa apparire il testo inserito dall'utente nell'editbox come caratteri ***** per evitare che qualcuno veda cosa è stato inserito.


//echo $?!="Continuo?"
In questo caso, verrà mostrata una dialog contenente i bottoni Yes/No. Se l'utente clikka su Yes, viene restituito $true, altrimenti viene restituito $false.

La finestra di input viene estesa verticalmente se il messaggio da mostrare è molto lungo. E' anche possibile far apparire il testo su linee differenti utilizzando l'identificatore $crlf per separare le linee, per esempio:
//echo $?="Questo è sulla prima linea. $crlf $+ E questo è sulla seonda linea."


Nota: questo identificatore non può essere usato in un evento dello script. Un metodo per aggirare ciò è utilizzare un /timer per inizializzare la richiesta di input quando lo script finisce.

$ansi2mirc(testo)
Restituisce il testo con i codici ANSI convertito con i codici del colore del mIRC.

$away
Restituisce i valori $true o $false a seconda che siate in away o meno.
if ($away) say Sono away! | else say Sono qui!


$bits
Restituisce 32 per la versione a 32 bit, oppure 16 per la versione a 16 bit.

$cb
Restituisce i primi 256 caratteri contenuti negli appunti (clipboard).

$cb(N)
Restituisce linee delimitate da un carattere CRLF dal testo che si trova attualmente negli appunti.

Proprietà: len


$cb(0) restituisce il numero di linee negli appunti
$cb(0).len restituisce la lunghezza totale di tutte le linee negli appunti
$cb(1) restituisce la prima linea negli appunti
$cb(1).len restituisce la lunghezza della linea 1

$chantypes
mIRC supporta numeric 005 token CHANTYPES, e può gestire una serie dinamica di prefissi per i canali.

$chantypes restituisce la lista dei prefissi dei canali in cui è possibile joinare, ad esempio #mIRC, &mIRC.


Quando non si è connessi ad un server, mIRC usa il valore predefinito di $chantypes, CHANTYPES=#&.

$chanmodes
mIRC supporta numeric 005 token CHANMODES, e può gestire una serie dinamica di chanmodes.

$chanmodes restituisce la lista di chan modes supportati, ad esempio '+K moo' per impostare la keyword del canale 'moo'.

Quando non si è connessi ad un server, mIRC utilizza i valori predefiniti per $chanmodes, CHANMODES=bIe,k,l.

$cmdbox

Restituisce $true se il comando nello script viene inizializzato da un comando editbox nella finestra di canale.

$cmdline
Restituisce il comando di linea passato dal mIRC quando viene inizializzato la prima volta.

$color(nome/N)
Restituisce l'indice di colore N per il nome del colore specificato, ad esempio $color(action text). Se non viene specificato il nome completo viene restituito il primo che corrisponda parzialmente, ad esempio $color(action)


Specificando il valore N, viene restituito l'indice RGB per l'Nsimo colore.

Proprietà: dd

$color(action).dd restituisce il numero in doppio formato digitale

$cr
Restituisce un carattere carriage return, lo stesso che $chr(13).

$creq
Restituisce l'attuale impostazione di /creq nella finestra di impostazioni della DCC Chat.

$crlf

Restituisce una combinazione carriage return/linefeed

$dccignore
Restituisce $true se l'ignore è attivato nella finestra di impostazioni della DCC altrimenti restituisce $false.

$dccignore(N/filename)
Restituisce l'Nsimo elemento nella dcc ignore types contenuta nella finestra di impostazioni della DCC.

Se N è zero, restituisce il numero totale di elementi nella lista, altrimenti restituisce l'Nsimo elemento in lista. Se viene specificato il nome di un file, restituisce $true se questo corrisponde nella lista, altrimenti $false.


$dccport
Restituisce il numero di porta che viene usata per il DCC Server.

$dll(nome.dll, nomeprocedura, dati)
Restituisce il valore risultante di una chiamate ad una DLL destinata per lavorare con mIRC.

$editbox(finestra)
Restituisce il testo nell'editbox della finestra specificata.

$emailaddr
Restituisce l'indirizzo e-mail specificato nella finestra di connessione.

$eval(testo,N)

Valuta il contenuto del testo N volte. Se N non è specificato, il valore predefinito di N è 1, se N=0 il testo non viene valutato.
Questo permette di valutare ricorsivamente identificatori e variabili in una linea di testo.

$fullname
Restituisce il fullname indicato nella finestra di connessione.

$hash(testo,B)
Restituisce il numero hash basato sul testo, dove B è il numero di bit utilizzati quando si calcola il numero hash.


$highlight
Restituisce $true se l'highlighting è attivato nella finestra Highlight, altrimenti restituisce $false.

$highlight(N/testo)
Restituisce l'Nsima linea nel listbox dell'highlight, oppure se è specificato del testo, restituisce restituisce le proprietà per la linea highlight corrispondente al testo.

Proprietà: text, color, sound, flash, message, nicks.

$host
Restituisce il proprio host name locale.


$iif(C,T,F)
Restituisce T o F a seconda che la valutazione della condizione C sia vera o falsa.

$iif(1 == 2, yes, no) restituisce "no"

$iif() restituisce F se la condizione restituisce zero, $false, o $null. Per ogni altro valore $iif() restituisce T.

Se non si specifica F come parametro, $iif restituisce un valore T se la condizione è vera, e non restituisce nulla se è falsa.

$iif(1 == 2, yes) non restituisce nulla

E' possibile capire meglio le condizioni nella sezione if-then-else.


$ifmatch
Restituisce il primo parametro corrispondente in un controllo if-then-else.

Nel caso del confronto:
if (testo isin altrotesto) ...
$ifmatch restituisce "testo"

$ignore(N/indirizzo)
Restituisce l'Nsimo indirizzo nella lista ignore.

Proprietà: type

$ignore(0) restituisce il numero totale di indirizzi nella lista ignore $ignore(1) restituisce il primo indirizzo nella lista ignore $ignore(2).type restituisce la flag dell'ignore per il secondo indirizzo nella lista ignore


Nota: se viene specificato un indirizzo, viene restituito il primo indirizzo corrispondente nella lista ignore.

$inpaste
Restituisce $true nel caso in cui l'utente utilizzi i comandi Control+V oppure Control+C per incollare testi nell'editbox.

$input(prompt,N,title,text)
Mostra all'utente una richiesta di input e restituisce il risultato.

La finestra di input viene estesa verticalmente per mostrare il messaggio nel caso in cui questo fosse troppo lungo. E' anche possibile far apparire il testo del messaggio su differenti linee utilizzando l'identificatore $crlf per separare le linee.


N può essere una combinazione dei valori indicati di seguito:


e - mostra un editbox
p - mostra un editbox per le password
o- bottone OK
y - bottoni Yes/No
n - bottoni Yes/No/Cancel
r- bottoni di retro-cancellazione
v - restituisce $ok, $yes, $no, $cancel per i bottoni.
g- bottone di allieamento a destra.

Di default, i bottoni restituiscono $true or $null, come per l'identificatore $?. Se c'è un editbox, i bottoni ok/yes restituiscono sempre il contenuto dell'editbox.

iqwh- mostrano rispettivamente informazioni, domande, avvisi, e hand icons.

d- esegue un file di sistema associandolo ad un'icona.

s- indica il nome della finetsra specificata.
a- attiva il dialog

title è il testo nella titlebar, e text è il testo predefinito inserito nell'editbox.

N, title, e text sono parametri opzionali.

//echo $input(Enter name:,129)

Nota: questo identificatore non può essere utilizzato in un evento dello script. Un metodo per aggirare ciò è utilizzare un /timer per inizializzare la richiesta di input dopo che lo script termina.


$ip
Restituisce il proprio indirizzo IP.

$isalias(nome)
Restituisce $true se il nome specificato è un alias contenuto nei propri aliases o script.

Proprietà: fname, alias

$isalias(join) restituisce $true se esiste un alias per /join
$isalias(join).fname restituisce il nome del file in cui è presente l'alias
$isalias(join).alias restituisce la definizione dell'alias per /join


$isid
Restituisce $true se l'alias è chiamato come un identificatore, altrimenti $false.

$lf
Restituisce un carattere linefeed, lo stesso che $chr(10).


$lock(item/#/N)
Restituisce $true o $false in base alle impostazioni nella finestra Lock.

Proprietà: send, get, chat, fserve, run, dll, channels

E' anche possibile utilizzare $lock(N) dove N restituisce l'Nsimo canale nella listbox dei canali, oppure è possibile specificare il nome di un canale al posto di N.

$md5(text|&binvar|filename,[N])
Restituisce il valore md5 per il dato specificato, quando N=0 per il formato di testo lineare, a per &binvar e 2 per i nomi di file.


$modespl
mIRC supporta numeric 005 token MODES.

$modespl restituisce il numero massimo di parametri consentiti per ogni /mode, ad esempio se $modespl è uguale a 5, è possibile usare /mode +ooooo per impostare 5 modes in un colpo solo.

$network
Restituisce il nome della rete IRC a cui siete connessi.

Nota: potrebbe essere impossibile reperire questa informazione dal network, se il network stesso non la fornisce.


$os
Restituisce la versione del proprio sistema operativo. Il valore può essere 3.1, 95, 98, NT, ME, 2000, o XP.

Nota: la versione a 16 bit riconosce solo 3.1 e 95

$port
Restituisce il numero di porta del server a cui siete connessi.

$prefix
mIRC supporta numeric 005 token PREFIX, e può gestire una serie dinamica di prefissi dei nickname del canale.

$prefix restituisce la lista dei prefissi per i nickname dei canali ad esemio op, halfop, voice, etc. §che sono supportati su un server.


Quando non si è connessi al server, mIRC utilizza i valori predefiniti per $prefix, PREFIX=(ohv)@%+.

$result
Immagazzina il valore del numero restituito dopo una routine di chiamata tramite il comando /return

$rgb(nome)
Restituisce il valore RGB del nome di colore specificato, che può essere uno dei seguenti: face, shadow, hilight, 3dlight, frame, and text.

$server
Restituisce il nome del server al quale si è connessi.


Se non si è connessi ad alcun server, $server restituisce $null.

Proprietà: desc, port, group, pass


$server(0) restituisce il numero totale di server nella lista dei server
$server(2) restituisce l'indirizzo del secondo server
$server(2).desc restituisce la descrizione del secondo server
$server(3).port restituisce la porta (le porte) del terzo server in lista


$serverip
Restituisce l'indirizzo IP del server.

$show
Restituisce $false se un comando è preceduto da un . per renderlo silenzioso, altrimenti restituisce.

$sreq
Restituisce le attuali impostazioni di /sreq nella finestra di opzioni della DCC.

$titlebar
Restituisce il testo nella bara del titolo di mIRC, impostata col comando /titlebar.

$url
Restituisce la finestra attiva dell'URL presente nel Browser Web


$url(N)
Restituisce l'Nsimo indirizzo nella lista URL.

Proprietà: desc, group


$url(0) restituisce il numero totale di elementi nella lista URL
$url(2) restituisce l'indirizzo del secondo elemento nella lista
$url(2).desc restituisce la descrizione del secondo elemento nella lista
$url(3).group restituisce il gruppo del terzo elemento nella lista

$usermode
Restituisce i propri usermodes sul server irc attuale.

$version
Restituisce la versione del mIRC in uso.

Gli Eventi - on BAN/UNBAN

Ogni qualvolta venga vietato l'accesso di un utente ad un determinato canale si attiva l'evento BAN, in caso contrario, ovvero la rimozione di tale divieto, si attiva l'evento UNBAN.

Formato: on <livello>:BAN:<#[,#]>:<comandi>
Esempio: on 1:BAN:#mirc,#irchelp:/msg $nick Spiacente, ma non sei desiderato sul canale $chan

Esempi

on 9:BAN:#newbies:/mode $chan -o $nick | /mode $chan -b $banmask

L'evento sopra riportato si innesca quando un operatore banna (dall'inglese "to ban",ndT) da un determinato canale un utente con livello di accesso 9. L'identificatore $banmask si riferisce al banmask usato per il ban dell'utente.


on 1:UNBAN:#:/msg $bnick Sei appena stato bannato.

Questo evento invece viene innescato quando un utente viene sbannato (dall'inglese "to unban",ndT) da un determinato canale. $bnick fa riferimento al nickname dell'utente bannato, ma questo identificatore è valido solamente nel caso in cui il banmask in se include un nickname. Se il banmask non include un nickname, $bnick equivale a $null.

Da ricordare che $banmask è solitamente una stringa wildcard, cioè contiene metacaratteri ("*" e "?",ndT) che possono corrispondere a più entry della sezione Remote Users. Per esempio, se viene posto un ban con stringa *!k*d@*.com, essa comprenderà gli utenti:


*!khaled@mirc.com
*!kha*d@*am.d*mo?.*
*!k*@*

Confrontare i livelli

E' possibile confrontare i livelli dell'operatore che setta il ban e quello della persona che lo riceve, utilizzando i prefissi <,>,<=,=>,<>, o =, come indicato nel modo seguente:

on >=2:BAN:#mIRC:/msg $chan $nick ha bannato $banmask (legale)
on 1:BAN:#mIRC:/msg $chan $nick ha bannato $banmask (illegale)

Nella situazione sopra riportata, se il livello di colui che setta il ban è più grande oppure uguale al livello dell'utente bannato, allora è un ban legale. Altrimenti, in caso contrario viene processata la seconda linea di Ban indicando che il divieto è illegale. Da ricordare che si stanno confrontando i livelli utente di colui che setta il ban e di colui che lo riceve, e ciò non ha niente a che fare con il livello 2 della definizione.


Nota: Questi eventi vengono processati solo in caso di ban a nickname, perchè il server IRC trasmette soltanto il nickname dell'utente che è bannato/sbannato e non il suo indirizzo. Inoltre, gli indirizzi IP non vengono risolti in automatico nei corrispettivi indirizzi DNS, per cui essi non generano corrispondenza con la lista utenti, e le banmask terminanti in @* vengono ignorate perchè corrisponderebbero a tutti gli utenti della lista.

Gli Eventi - on CONNECT/DISCONNECT

L'evento on CONNECT scatta quando mIRC si connette ad un Server IRC, subito dopo l'apparizione del MOTD.


Formato: on <level>:CONNECT:<commands>
Esempio: on 1:CONNECT:/join #new2irc


L'evento on Disconnect usa lo stesso formato qua sopra, ma scatta quando ci si disconnette da un Server IRC.

L'evento on CONNECTFAIL usa lo stesso formato qua sopra, ma scatta quando una prova di connessione (e tutte le prove successive) ha fallito.

Esempi

on 1:CONNECT:/echo Connesso al server $server alle $time con il nickname $nick

Questo scatta dopo che mIRC si è connesso al server.


on 1:DISCONNECT:/echo Disconnesso da $server alle $time con il nickname $nick

Questo scatta quando mIRC si disconnette dal server.

Gli Eventi - on OP/DEOP

Gli eventi on OP e on DEOP scattano quando un utente viene "oppato" o "deoppato" in un determinato canale.


Sintassi: on <livello>:OP:<#[,#]>:<comandi>
Esempio: on 1:OP:#mirc,#irchelp:/msg $nick Ora che sei op, non abusare del tuo potere :)

Gli eventi on VOICE/DEVOICE e on HELP/DEHELP usano la medesima sintassi e vengono innescati quando un utente riceve il voice o l'help, oppure quando questi gli vengono tolti.

Anche l'evento on SERVEROP utilizza la stessa sintassi e scatta quando un utente è oppato da un server.

Infine, l'evento on RAWMODE scatta indipendentemente da questi eventi e consente di analizzare la linea di testo del cambiamento di mode. (Scatta per TUTTI i cambiamenti di mode: personali, relativi ad altri utenti e relativi ai canali, ndT)


Esempi

on 9:OP:#:/mode $chan -o $opnick
on 9:VOICE:#:/mode $chan -v $vnick
on 9:HELP:#:/mode $chan -h $hnick

Questi eventi vengono innescati quando ad un utente con il Livello di accesso pari a 9 viene dato il grado di op/voice/help su un qualsiasi canale: $opnick si riferisce al nickname della persona oppata/deoppata, $vnick alla persona che ha ricevuto o a cui è stato tolto il voice, e $hnick si riferisce alla persona helpata/dehelpata.


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

Questo evento scatta quando un qualsiasi op del canale #beginner viene deoppato.

on 1:SERVEROP:#:/mode $chan -o $opnick

In questo caso invece viene levato il grado di op ad un utente che ha ricevuto l'op dal server.

Confronto di livelli

É possibile confrontare i livelli degli operatori e degli utenti oppati/deoppati premettendo alla stringa i simboli <,>,<=,=>,<>, o =, nel modo seguente:

on >=1:DEOP:#mIRC:/msg $chan $nick ha deoppato $opnick (legale)

on 1:DEOP:#mIRC:/msg $chan $nick ha deoppato $opnick (illegale)

In questa situazione, se il livello degli operatori è maggiore o uguale al livello degli utenti a cui è stato tolto il grado di operatore, il deop è ritenuto legale. Altrimenti, si verifica il secondo caso indicandone l'illegalità. Si Ricordi che in questo momento si stanno confrontando i livelli dell'operatore e dell'utente oppato/deoppato, e ciò non ha niente a che fare con il Livello 2 nella definizione.


Nota: Questi eventi lavorano soltanto sui nicknames perchè il server IRC trasmette soltanto il nick dell'utente coinvolto non il suo indirizzo.

on RAWMODE

on @1:RAWMODE:#:/echo $chan Cambiate impostazioni: $nick ha settato $1-

L'evento on RAWMODE consente di analizzare TUTTI cambiamenti di mode: la linea di testo è in $1-.


E' possibile usare l'identificatore $mode(N) con questi eventi per elencare i nick coinvolti.

Gli Eventi - on INPUT

L'evento on INPUT è innescato quando viene digitato del testo in una editbox e viene premuto il tasto invio.

Formato: on <livello>:INPUT:<*#?=!@>:<comandi>
Esempio: on 1:INPUT:#mIRC:/echo Hai digitato il testo " $1- " nella finestra #mIRC

Esempi

on 1:INPUT:#:/echo Ho appena detto " $1- " in un canale

Questo evento scatta quando si inserisce del testo in una editbox e poi si preme il tasto invio. L'identificatore $1- si riferisce al testo digitato. Se l'evento viene fermato tramite il comando /halt è possibile impedire al mIRC l'elaborazione del vostro messaggio (e quindi il suo invio, ndT).


on 1:INPUT:?:/echo Ho appena detto " $1- " in una finestra di query
on 1:INPUT:=:/echo Ho appena detto " $1- " in una sessione di DCC chat
on 1:INPUT:!:/echo ho appena detto " $1- " in un fileserver

É anche possibile specificare il nome del canalel o della finestra anziché utilizzare i generici simboli *#?=!@.

L'identificatore $ctrlenter è utilizzato per controllare se è stato premuto Control+Enter quando l'utente ha digitato il testo.

Nota: E' possibile inoltre usare comandi come /say con l'evento INPUT, che invieranno il messaggio alla finestra nella quale sono stati scritti, anche se la maggior parte dei comandi e degli eventi non funzionano in questo modo, e richiedono che sia specificato il destinatario del messaggio.

Gli Eventi - on JOIN/PART

Gli eventi On JOIN e On PART vengono innescati quando un utente entra o esce da un canale.


Formato: on <livello>:JOIN:<#[,#]>:<comandi>
Esempio: on 1:JOIN:#mirc,#irchelp:/msg $nick Ciao a Tutti!

Esempi

on 1:JOIN:#:/msg $chan Benvenuto $nick

L'evento sopra riportato s'innesca nel momento in cui un utente entra su un canale su cui voi siete.

on 5:PART:#mIRC,#angel_&_devil:/describe $chan Torna a trovarci $nick *ciao*

Questo evento invece viene innescato nel momento in cui un utente di livello d'accesso pari a 5 esce da uno dei canali riportati, in questo caso #mIRC o #Angel_&_Devil.

Gli Eventi - on KICK

L'evento on KICK viene innescato quando un utente viene kickato (dall' inglese "to kick" cioè "espellere", ndT) da un canale.


Formato: on :KICK:<#[,#]>:
Esempio: on 1:KICK:#mirc,#mondoirc:/msg $nick Oh, scusa, stavo testando il kick! ;)

Esempi

on 5:KICK:#:/invite $knick $chan | /msg $nick Hey, $knick è mio amico!

L'evento sopra citato viene innescato nel momento in cui un utente di livello 5 viene kikkato da un determinato canale. $knick si riferisce al nickname dell'utente che è stato kikkato.

Confrontare i livelli

I livelli del "kikkante" [n.d.t dall'inglese kicker] e del "kikkato" posono essere confrontati premettendo alla stringa di comando uno dei simboli <,>,<=,=>,<>, oppure = come riportato nei seguenti esempi:


on >=2:KICK:#mIRC:/msg $chan $nick ha cacciato $knick (legale)
on 1:KICK:#mIRC:/msg $chan $nick ha cacciato $knick (illegale)

In questo caso, se il livello del "kickante" è maggiore o uguale rispetto al livello dell'utente "kickato", allora lo si può ritenere un kick legale. Viceversa, se il livello del kickante è inferiore, verrà eseguito il secondo evento Kick, qui indicato come illegale. Bisogna inoltre ricordare che si stanno confrontando i livelli del kickante e del kickato, e ciò non ha niente a che fare con con il livello "2" della definizione.


Nota: Questo evento funziona soltanto sul nickname perché il server IRC trasmette soltanto il nickname dell'utente kickato e non il relativo indirizzo.