Aliases
Il mirc consente di creare alias e script per velocizzare le sessioni IRC o per eseguire funzioni ripetitive più rapidamente. Per creare gli alias bisogna conoscere i comandi IRC.
Glia alias possono essere richiamati tramite la linea di comandi, da altri alias, da popup e da remote scripts. Un alias non può richiamare se stesso principalmente perchè questo sembra causare più problemi agli utenti di quanti ne risolva.
Esempi
Il seguente esempio mostra come creare alias che eseguono semplici funzioni:
/gb /join #gb
Ora è possibile digitare /gb al posto di /join #gb con il medesimo risultato.
/j /join $1
Ora è stato aggiunto un parametro. Se adesso si digita /j #gb, si otterrà lo stesso effetto di /join #gb. Il parametro $1 si riferisce al primo parametro fornito nella riga di comando.
/yell /me $2 $1
Se adesso si scrive /urla gente! Salve il comando eseguito sarà /me Salve Gente! Il numero dopo il $ specifica il numero del parametro nel comando eseguito.
/jj /join $?
Il punto interrogativo indica che si desidera che venga richiesto il parametro: la risposta fornita verrà inserita nella riga di comando in quel punto. Quindi se si scrive /jj apparirà un dialog di domanda per il canale in cui si vuole entrare. Se a questo punto si scriverà #gb, il comando finale sarà /join #gb.
/jj /join #$1
Il segno di cancelletto #, indica che il parametro che si sta specificando sarà preceduto da tale simbolo, così da indicare il nome di un canale.
/jj /join $?="Inserire il nome del canale:"
Questo comando fa esattamente la stessa cosa dell'esempio precedente, con la differenza che ora il dialog avrà come domanda la frase "Inserire il nome del canale:"
/aw /away $?="Inserire un messaggio di away:" | /say $!
Questo comando è simile a quello precedente, ma con l'aggiunta del parametrp $!. Questo si riferisce al testo inserito precedentemente nel dialog di richiesta (in questo caso, la richiesta è un messaggio di away). Questo consente di non dover scrivere due volte lo stesso messaggio.
/dare /me dà $$1 a $$2
Il doppio simbolo $$ indica che l'intera riga di comando sarà eseguita solo se il parametro è presente. Se quindi si specificherà un solo parametro, il comando non verrà eseguito. Si può anche utilizzare la sintassi $$?1 oppure $?1 che indicano di utilizzare il valore del parametro 1 se questo esiste. Se questo non esiste, viene richiesto: nel primo caso esso è necessario per l'esecuzione del comando, ma non nel secondo caso.
/umilia /me schiaffeggia $1 con $2-
$2- indica che i parametri dal 2 (incluso) in poi dovranno essere aggiunti nella linea di comando: se si scrive /umilia Fifone una grande trota! il comando finale sarà /me schiaffeggia Fifone con una grande trota!.
Si può anche specificare $2-5 per indicare di utilizzare solo i parametri da 2 (incluso) a 5 8incluso).
/sorridi /me sorride allo scherzo di $1
Qualsiasi cosa aggiunta dopo il simbolo di $, sarà aggiunta nel risultato finale. Per cui se nell'esempio precedente si scrive /sorridi mimi, il comando finale sarà /me sorride allo scherzo di mimi.
/sfizioso /say Ci $+ ao a tut $+ ti $+ !
I parametri sono normalmente separati da uno spazio, ma per indicare al mIRC di concatenare i parametri, si utilizza l'identicatore $+. L'esempio precedente visualizza Ciao a Ttutti!.
/p /part #
Il simbolo # si riferisce al canale in cui si sta digitando il comando; quindi, se ci si trova nel canale #blah e si digita /p, il mIRC sostituirà il segno # con #blah, ed il comando finale sarà /part #blah.
/op /mode # +o $1
Per dare l'op a qualcuno ora è sufficiente scrivere /op cocco82 invece dell'intero comando /mode.
/deop /mode # -ooo $1 $2 $3
Ora è possibile togliere l'op a 3 utenti contemporaneamente scrivendo /deop cocco82 darkness Hetfield.
Per comandi multipli bisogna usare il "pipe" (|). In questo modo si possono scrivere su un'unica riga più comandi:
/dkb /kick # $1 | /mode # +b $1
Le parentesi di valutrazione [ ]
Se si desidera un maggior controllo nell'ordine di valutazione degli identificatori, si pososno usare le parentesi quadre [ ]: gli identificatori all'interno di queste parentesi saranno valutati per primi, da sinistra a destra; è anche possibile nidificare le parentesi.
/say % [ $+ [ $1 ] ]
Si può anche forzare un identificatore valutato precedentemente ad essere ri-valutato usando parentesi quadre aggiuntive.
/set %x %y
/set %y Ciao!
/echo [ [ %x ] ]
Le parentesi graffe
Si possono anche creare script multilinea usando le parentesi graffe. Esse consentono di creare un alias che esgua più comandi.
/poema
/msg $1 Nel mezzo del cammin di nostra vita,
/msg $1 mi ritrovai per una selva oscura
/msg $1 che' la retta via era smarrita.
Lo stato If-then-else
E' possibile utilizzare lo stato if-then-else per decidere quale parte dellos cript eseguire in base ad una disposizione di visualizzazione.
/number
if ($1 == 1) echo One
elseif ($1 == 2) echo Two
else echo Unknown number!
Questa funzione crea un alias con testo i cui parametri implementati sono il numero 1 ed il 2.
Per maggiori informazioni consultare la sezione if-then-else.
Il Comando GOTO
Il comando /goto permette il salto da un punto all'altro dello script.
/number
if ($1 == 1) goto one
elseif ($1 == 2) goto two
else goto unknown
:one
echo One
halt
:two
echo Two
halt
:unknown
echo Unknown number!
halt
Usando incorrettamente la funzione goto si verranno a creare un infinità di loop. L'interruzione del comando è resa possibile agendo sui tasti Control+Break.
While Loops
Ripete i loop contenenti una serie di comandi in cui l'espressione tra parentesi non risulterà veritiera.
var %i = 1
while (%i <= 10)
echo 2 %i
inc %i
L'espressione tra parentesi utilizza lo stesso formato dello stato if-then-else.
E' possibile usare le funzioni /break per mettere in pausa il loop corrente, e /continue per ridare l'inizio al loop stesso.
Il Comando Return
Il comando /return arresta l'esecuzione dello script in corso permettendone il richiamo del processo.
E' inoltre possibile specificare un valore di restituzione che sarà riportato nell'identificazione $result.
/return [value]
Il Comando Halt
Il comando /halt arresta lo script prevenendone un qualsiasi strano processo. L'utilizzo di questa funzione è inoltre possibile nei remote scripts per prevenire il mIRC da ripetizioni di normali messaggi ctcp oppure negli aliase per arrestarne il processo.
Identificatori e Variabili
Un identificatore restituisce un valore in una variabile mIRC built-in. Per esempio, $time restituisce l'ora corrente. Ogni qualvolta mIRC trova un identificatore in un dato comando, lo rimpiazzera col valore corrente dell'identificatore stesso.
Per una lista degli identificatori, vedere la sezione Identificatori.
Le Variabili sono identificatori il cui valore è possibile crearlo e cambiarlo rendendolo utilizzabile in futuro in uno script.
Per maggiori informazioni sulla sezione Variabili.
Identificatori Personalizzati
Un idewntificatore personalizzato non è altro che un alias che restituisce un valore utilizzabile per indicare un prefisso..
Per esempio creare un alias nominato /add:
add
%x = $1 + $2
return %x
Utilizzabile nel comando:
//echo Total is: $add(1,2)
E' possibile la quantità di parametri da includere, esempio $add(1,2,...,N).
Inoltre è possibile usare l'identificatore $prop per identificare una proprietà personalizzata:
add
%x = $1 + $2
if ($prop == negative) return $calc(-1 * %x)
return %x
//echo Total is: $add(1,2).negative
Remote Scripts
E' possibile utilizzare alias negli script remoti usando il prefisso alias.
alias add
%x = $1 + $2
return %x
Specificando l'interruttore -l in una definizione aliases esso sarà accessibile da qualsiasi comando nello stesso script mentre risulterà invisibile dalle linee di coamndo degli altri script.
alias -l add
%x = $1 + $2
return %x
Funzioni di supporto Tasti
E' possibile definire le funzioni eseguibili a tasti selezionati. Per esempio:
/F1 /say Hello!
/sF2 /query $1
/cF3 /ctcp $1 version
I prefissi s e c stanno rispettivamente ai tasti Shift e Control.
Note: Le funzioni dei tasti possono essere differenti in base alle finestre utilizzate. Per esempio,quando si utilizza una finestra di query il parametro $1 riferisce ad un nickname utente. Se si è in un canale e la nickname listbox è attiva quando la funzione tasto entrerà in esecuzione si riferirà al nickname selezionato. Nelc aso in cui la listbox non sia attiva, la funzione legata al tasto opererà nel canale.
Commenti
E' possibile aggiungere commenti allo script usando la funzione ; semi-colon alla partenza della stringa, oppure /* e */ per la chiusura del testo.
;Questo è un commento
/*
Questo è un commento
*/
E' possibile includere commenti in qualsiasi parte dello script, essi non verranno considerati in fase d'esecuzione.
L'identificatore &$
questo identificatore permette l'arresto della singola linea di comando quando uno script è eseguibile.
Nessun commento:
Posta un commento