I Comandi dei Remotes si
riferiscono ad un particolare tipo di comandi: i CTCP.
Questa sezzione del mIRC ti permette di personalizzare
a tuo piacimento i tipi di reply (risposte) del mIRC
alle richieste CTCP inviate da altri utenti.
Ci sono molti comandi CTCP definiti in base agli
standards IRC.
Questi comandi sono elencati nell'RFC relativo.
I CTCP che vengono generalmente usati sono version,
ping, time, userinfo, clientinfo e finger.
Ogni clients IRC rispondera' in un particolare modo (standard)
a ciascuno di questi comandi.
I CTCP sono inviati nel seguente modo:
/ctcp {tuonick} {comando con parametri se richiesti}
Considera questo semplice esempio di un ping.
Un utente dovra' scrivere:
/ctcp {tuonick} ping
(Anche tu puoi mandarti un ping! Prova a scrivere "/ctcp
{tuonick} ping")
In circostanze normali, mIRC inviera' uno standard
ping reply [ctcp quelnick pong], ma con i Commandi dei
Remotes tu puoi ridefinire la risposta al ping. Non œ
strettamente necessario modificare i reply dei CTCP,
sta a te decidere se farlo o no.
L'unico CTCP reply che non pu‰ venir modificato œ
quello relativo al version. Per modificarti quello
devi obbligatoriamente lavorare sull'eseguibile...
Puoi anche creare nuovi comandi CTCP e quindi il tipo
di risposta.
Passiamo agli esempiuzzi che tanto amate ;o)
1:ping:/notice $nick Mi pinghi? Mi hai pingato! Che ti
pinghi?! Pingati a tua sorella! :oþ
Questa riga va inserita nei remotes e fa in modo che
ad un ping di un utente venga inviato un notice di
risposta con la scritta che vedete...
Potete provare a mettere il comando nei remote ed a
pingarvi per vedere l'effetto risultante.
Secondo me, vi piacerà talmente tanto che vi sparerete
un colpo in testa dalla contentezza.
NOTA: questo è importanterrimo!!! Nella finestra dei
remote, in alto, c'è una voce di menu che si chiama
Listen. Dovete sempre verificare che siano attive
tutte e tre le voci presenti: CTCPs, RAW e EVENTs. E'
estremamente importante, perchè se nei remotes c'è un
comando relativo ai CTCP e la voce CTCPs nel Listen è
disattivata, il comando verrà ignorato. Stessa cosa
per le altre due voci.
Sintassi Remotes
I comandi dei remotes, tranne in alcuni casi, sono
formati da tre parti distinte.
Queste tre parti sono suddivise da una colonna.
Generalmente si presentano così:
{livello del comando}:{comando ctcp}:{risposta al
comando(i) con parametro(i)}
Studiamoci le singole parti una per una.
{livello del comando}: si riferisce alla User List.
Praticamente associa il comando ad un particolare
livello degli user. Se vogliamo riferire il comando ad
un utente generico, dobbiamo utilizzare il livello 1
che è il livello di default del mirc che viene
associato ad un utente generico.
{comando ctcp}: si riferisce al tipo di CTCP che è
stato inviato a noi e al quale dobbiamo rispondere.
Può riferirsi ad un CTCP standard (ping, version, ecc)
o ad un CTCP creato da noi.
Più avanti farò qualche esempiuzzo per chiarire meglio
'u cunciett'.
{risposta al comando(i) con parametro(i)}: in questa
parte verranno definiti i comportamenti dello script
in risposta ad un CTCP pervenutoci. Per dirla in due
parole, ciò che lo script dovrà fare quando ci
arriverà un determinato CTCP.
Torniamo al vecchio esempio ed analizziamolo.
1:ping:/notice $nick Mi pinghi? Mi hai pingato! Che ti
pinghi?! Pingati a tua sorella! :oþ
1 è il livello del comando. Tutti gli utenti che hanno
livello 1 o superiore faranno eseguire il comando.
Ping è il CTCP relativo al comando. Se arriverà PING
di un utente, il comando verrà eseguito.
/notice $nick Mi pinghi.... Questo è il comando che
verrà eseguito.
Tutto chiaro?
Si -----> vai a pag. 396
No -----> vai a pag. 203
Forse -----> vai a pag. 185
....
Ma che cazzo faccio??? Ma sono scemo?!? Scusate...
:°(°°°°
Naturalmente possono venire utilizzati diversi comandi
utilizzando il carattere | (pipe) e venir richiamati
alias. Le possibilità sono praticamente illimitate.
Se avete un mulinex in serie al vostro PC, potete
addirittura farvi fare uno zabaione.
Gran figata lo scripting ;o)
Reazioni differenti per livelli differenti
Come avrete intuito (se non siete dementi), è
possibile assegnare un livello ad ogni tipo di utente
e quindi determinare diverse reazioni dello script.
Analizzate un po' questi esempi:
1:ping:/notice $nick ping? mmmm il tuo livello e'
trooooooppo basso!!!... | /halt
2:ping:/notice $nick ping? mmmm! ... pang pang...
Crepa in silenzio!!
3:ping:/notice $nick ping? ...pang !! mmm... mancato...
:oþ
6:ping:/notice $nick ping? mmm! ... Mi piaci... da te
mi lascio pingare... :o)
Ad ogni utente viene assegnato un reply ben preciso e
differenziato.
Com'e' possibile farlo per i reply dei ping, così e'
possibile farlo per i join, per i deop, e per
qualsiasi tipo di evento remote.
Identificatori speciali per Remotes/Commands
$nick, $address, $parms, $parm1, $parm2, $parm1*,
$parm2* etc. sono tutti identificatori creati
specificatamente per essere usati neli remote.
Puoi usarli quando vuoi nelle righe di comandi...
$nick Il nick della persona che ha fatto attivare
l'evento
$address L'address completo della persona che invia il
comando
$site Il site della persona che invia il comando
$level Rappresenta il livello dell'utente
$parms Il testo che la persona ha inviato relativo al
comando
$parm1 Ti permette di spezzare il $parms in parole
singole
$parm3* Contiene la terza parola nel comando e tutte
quelle che la seguono
NOTA: $chan NON E' SEMPRE DEFINITO nei Comandi Remoti...
$chan normalmente contiente il nome del canale nel
quale è dato un certo comando... i comandi CTCP non
vengono eseguiti da nessun canale... o la persona che
li esegue non sta su nessun canale... Chiaro il punto??
Forse $active potra' aiutarvi?
Questo semplice esempio usa il parametro $address
predefinito...
1:address:/notice $nick Il tuo address e' $address
Se un user ti invia un /ctcp {yournick} address, tu
gli inviearai un reply con un notice nel quale dirai:
"Il tuo address e' {suo address}".
Oppare gli amici su richiesta. (Uso di $parms)
Se non ti e' chiaro il funzionamento di quest'esempio,
non ti preoccupare.
Prova a seguire il Lamerone e vedrai che ti faccio
scattare la molla nel cervello.
Rileggiti gli esempi e le spiegazioni, se non ti si
scianquiglia il tempiozzo (:o?) ma non provare a
creare eventi remoti o ad andare avanti con la
lezionese non sei sicuro che la molla sia scattata.
1:opme:/notice $nick Vuoi essere oppato su $parms ma
il tuo livello e' troppo basso.
5:opme:/mode $parms +o $nick
Se un utente fa un /ctcp tuonick opme #canale, lo
script verifichera' il livello della persona.
Se il livello sara 5 o superiore, verra' oppato,
altrimenti, pippe.
In questo esempio, il $parms corrisponde al canale,
come'e' facilmente intuibile.
Il $parms puo' venir usato anche per frasi lunghe...
5:return:/notice $nick $parms
Questo comando inviera' un notice con tutte le parole
che ci ha inviato...
Immaginiamo che un utente faccia /ctcp {yournick}
return Bladiebla die bladie bla bla bla.
Questo comando fara' in modo che il nostro mIRC
reagisca inviando un /notice friend Bladiebla die
bladie bla bla bla.
Comandi multipli
Un evento CTCP puo' far scattare diversi comandi
contemporaneamente.
5:opme:/mode $parms +o $nick | /notice $nick sei stato
oppato su $parms
Quindi invierai all'amico (che ha livello 5) il
comando /ctcp {tuonick} opme #nomecanale
Che succede??
In effetti il CTCP opme ha fatto eseguire due comandi:
/mode #name +o amico
/notice amico Sei stato oppato su #nomecanale
Un altro esempio di CTCP con comandi multipli e':
10:part:/part $parms | /notice $nick Ho lasciato il
canale $parms
Se un utente di livello 10 ti invia /ctcp {tuonick}
part #nomecanale, tu uscirai dal canale e invierai un
notice all'utente dicendo "Ho lasciato il canale #nomecanale"
$parms cintiene il nome del canale che devi lasciare
$nick e' il nick dell'utente di livello 10 che ti ha
inviato la richiesta di part
Altri esempi:
1:ping:/notice $nick Non mi pingare.
...quando verrai pingato, risponderai con /notice
{nick} Non mi pingare.
5:time:/notice $nick Ora di anna' aff...
...quando riceverai un ctcp time, risponderai con: "/notice
{nick} Ora di anna' aff...
10:ndostai:/notice $nick Io sono dove io so di essere
| /notice $nick e quindi NON ROMPERE!
...quando riceverai un ctcp ndostai, risponderai con
un "/notice {nick} Io sono dove io so di essere" e
quindi con un "/notice {nick} e quindi NON ROMPERE!"
Lamerone the Mescalinized |