Ora analizziamone qualcuno,
per esempio JOIN:
on 1:JOIN:#:{
echo # $nick è entrato in #
}
Questo codice, inserito nei Remote Scripts,
scriverà nel canale: Nick è entrato in #canale.
Il numero uno appena dopo on specifica qualsiasi utente,
JOIN entra e # in un canale qualsiasi. Quindi si potrebbe
dire: se qualsiasi utente entra in un canale qualsiasi fai
questo e quel'altro.
on @!1:JOIN:#alieni:{
if (%kikkatutti == ON) { kick # $nick Spiacente... }
}
In questo esempio abbiamo compreso anche una
variabile. Partiamo dall'inzio, però: i segni @!1
indicano: il primo, l'@, indica che io sono operatore nel
canale, il secondo e il terzo, specifica che qualsiasi utente
che entra è diverso da me. Poi la variabile %kikkatutti,
se settata ON, kikka qualsiasi persona che entra nel canale
#alieni. Per rendere più chiara l'idea, l'esempio
soprastante può anche essere scritto così:
on 1:JOIN:#:{
;se qualsiasi utente entra in un qualsiasi canale
if ($nick != $me) {
;se il nickname dell'utente è diverso dal mio (quindi
se chi entra non sono io)
if ($me ison #alieni) {
;se sono in #alieni
if ($me isop #alieni) {
;se sono operatore in #alieni
if (%kikkatutti == ON) {
kick # $nick Spiacente...
;e se la variabile %kikkatutti è ON allora kikko
tutti
}
}
}
}
}
E' la stessa identica cosa, ma viene utilizzata
con gli if. Adesso citeremo altri eventi, i più comuni:
on 1:START:{ ... }
on 1:CONNECT:{ ... } ($server è il
server e $port è la porta)
on 1:QUIT:{ ... } ($nick è il nickname
di chi quitta)
on 1:DISCONNECT:{ ... } (solo quando IO mi
disconnetto)
on 1:PART:#:{ ... } ($nick è il nickname
di chi esce)
on 1:TOPIC:#:{ ... } ($nick il nickname, $1-
il nuovo topic)
on 1:MODE:#:{ ... } ($nick il nickname e $1-
i modi cambiati)
on 1:OP:#:{ ... } ($nick chi oppa, $opnick
chi viene oppato)
on 1:DEOP:#:{ ... } ($nick chi deoppa, $opnick
chi viene deoppato)
on 1:VOICE:#:{ ... } ($nick chi da il voice,
$vnick chi lo riceve)
on 1:DEVOICE:#:{ ... } ($nick chi toglie il
voice, $vnick chi lo subisce)
on 1:KICK:#:{ ... } ($nick chi kikka, $knick
chi viene kikkato, $1- il motivo del kick)
on 1:BAN:#:{ ... } ($nick chi banna, $banmask
l'indirizzo di chi viene bannato)
on 1:UNBAN:#:{ ... } ($nick chi unbanna, $banmask
l'indirizzo di chi viene unbannato)
on 1:TEXT:*:*:{ ... } ($nick chi scrive, $1-
il testo che ha scritto)
on 1:ACTION:*:*:{ ... } ($nick chi fa l'azione,
$1- il testo)
on 1:NOTICE:*:*:{ ... } ($nick chi invia la
notice, $1- il testo)
Inizialmente potrete riscontrare alcuni problemi
nel mettere o meno il #, gli asterischi, ect, ma pensate
ad una cosa: se c'è un join deve per forza accadere
in un canale. Lo stesso vale per il kick, ban, op, voice.
Mentre l'on TEXT può avvenire in un canale (#), in
una query (?) o in tutte due (*). Lo stesso vale per le
ACTION e NOTICE.
Per gli eventi on TEXT, ACTION e NOTICE farò
un po' di approfondimento in quanto all'inizio non sono
molto semplici da capire:
on !1:TEXT:ciao:#:{ echo -s $nick ha scritto
in # ciao }
In questo caso: se un utente diverso da me
scrive solamente ciao in un canale qualsiasi, comparirà
la scritta nella status. Se lo dovesse scrivere in una query,
invece:
on !1:TEXT:ciao:?:{ echo -s $nick ha scritto
nella query ciao }
Il testo che viene scritto, può essere
identificato in questo modo:
on 1:TEXT:arrivederci:*:{ ... }
Se viene scritto in una query o canale solo arrivederci.
on 1:TEXT:ciao*:#:{ ... }
Se viene scritta in un canale una frase che comincia con
ciao.
on 1:TEXT:*ok:?:{ ... }
Se viene scritta in una query una frase che finisce con
ok.
on 1:TEXT:*quindi*:*:{ ... }
Se viene scritta una frase in una query o canale che contiene
la parola quindi.
Per comprendere gli spazi:
on 1:TEXT:ciao*ci*vediamo:*:{ ... }
Se viene scritto in una query o canale solamente ciao ci
vediamo
|