Access levels
Indice
- Contenuto
- Elenco utenti
- Aggiungere/Rimuovere utenti
- Per esempio:
- Utilizzo
- Prefissi degli eventi
- prefisso me
- prefisso !
- prefisso @
- prefisso &
- prefisso *
- prefisso +
- Livelli di accesso nominali
Access levels in mIRC sono un meccanismo tramite cui gli eventi possono essere limitati a determinati livelli utente o gruppi con nome. Quasi tutti gli eventi hanno un parametro di livello che specifica il livello di accesso dell’evento.
Elenco utenti
L’elenco degli utenti e dei loro accessi è memorizzato nella scheda “users” dell’editor degli script. Per ogni riga viene memorizzato un solo indirizzo e deve seguire la seguente sintassi:
<levels>:<address> <additional info>
I livelli di accesso sono valori separati da virgole che definiscono i livelli dell’utente. Sebbene di solito i livelli siano numerici, puoi usare anche un nome come “botAdmin” o “friends”.
Il parametro
10,20:[email protected]
friend:[email protected] high school friend
Aggiungere/Rimuovere utenti
Ci sono due comandi che possono essere usati per aggiungere un utente all’elenco di accesso, /auser e /guser. Seguono questa sintassi:
/auser [-a] <levels> <name|address> [info]
/guser [-a] <levels> <name> [addressType] [info]
Sia /auser sia /guser fanno la stessa cosa: aggiungono uno specifico utente all’elenco utenti con i livelli di accesso specificati, separati da virgole. L’opzione -a può essere usata per aggiungere semplicemente ulteriori livelli di accesso a un utente esistente; altrimenti tutti i vecchi livelli vengono sostituiti con quelli nuovi. La differenza fondamentale tra /auser e /guser è che /guser può essere usato per ricavare l’indirizzo di un utente, mentre /auser richiede che tu lo fornisca in anticipo.
;Aggiunge joe (tipo di mask indirizzo 2), livello di accesso 'friend'
/guser friend joe 2 neighbor
Il comando /ruser può essere usato per rimuovere completamente un utente dall’elenco di accesso oppure semplicemente per rimuovere uno dei suoi livelli.
/ruser [levels] <name|address> [type]
Per esempio:
/ruser madman 2
/ruser 2,10 foobar
Il parametro info dell’utente può essere modificato in qualsiasi momento usando il comando /iuser:
/iuser <name|address> [info]
Utilizzo
Il parametro
on 10:text:.hello:#:{
msg $chan Hello $nick $+ !
}
Nota che il livello di accesso definito è 10. In questo caso qualsiasi utente nel tuo elenco di accesso con livello 10 o superiore attiverà questo evento.
Prefissi degli eventi
mIRC offre molti prefissi per alterare leggermente il modo in cui l’evento viene attivato.
prefisso me
Il prefisso ‘me’ può essere usato per fare in modo che un evento si attivi solo se sei stato tu ad attivarlo (if ($nick == $me)
Nota: il prefisso me è un po’ speciale; richiede un nuovo due punti prima degli altri prefissi.
Per esempio:
on me:*:join:#support:{
msg $chan Hello $chan $+ , I need help!
}
! prefisso
Il prefisso punto esclamativo può essere usato per impedire che un evento venga attivato da te (if ($nick != $me)).
Per esempio:
on !1:join:#support:{
msg $chan Hello $nick $+ , do you need help?
}
L’evento sopra non verrà mai attivato quando sei tu a entrare in #support, ma solo da altre persone.
@ prefisso
Il simbolo @ può essere usato come prefisso per indicare che l’evento può essere attivato solo se sei un operatore nel canale. Puoi pensarlo come “if ($me isop $chan) {”
Per esempio:
on @10:text:.op:#myChan:{
mode $chan +o-v $nick $nick
}
Il codice sopra funzionerà solo se sei un operatore in #myChan nel momento in cui l’utente digita “.o”.
& prefisso
Il & prefisso può essere usato per impedire che l’evento venga eseguito se l’evento precedente ha chiamato i comandi /haltdef o /halt.
Per esempio, dati i seguenti due eventi on TEXT inseriti in file separati…
script1.mrc
on *:TEXT:!test:?:haltdef
script2.mrc
on &*:TEXT:*:?:echo -ga I triggered because $!halted == $halted $+ !
Il secondo evento si attiverà alla ricezione di qualsiasi messaggio inviato tramite query tranne !test, perché il primo evento chiama il comando haltdef quando riceve !test.
* prefisso
Questo prefisso può essere usato per permettere a qualsiasi utente di attivare l’evento indipendentemente dal proprio livello di accesso.
Per esempio:
on *:text:.calc *:#:{
notice $nick $2- = $calc($replace($2-, pi, $pi))
}
+ prefisso
Per impostazione predefinita, il prefisso numerico significa che quel livello e qualsiasi livello superiore possono attivare quell’evento. Usando il prefisso +, puoi limitare l’evento in modo che sia esattamente del livello specificato.
Per esempio:
on +5:text:.h:#myChan:{
mode $chan +h $nick
}
Il codice sopra funzionerà solo per utenti con livello di accesso esattamente pari a 5. Qualsiasi utente con un livello di accesso superiore non attiverà quell’evento.
Livelli di accesso nominali
A volte è utile assegnare un nome a un gruppo di accesso invece di un valore numerico. Un buon esempio è bot admins, friends o persino membri del canale. Puoi definire tali gruppi usando i normali comandi /guser e /auser:
/guser BotAdmin Mike123 2
/guser BotAdmin Joe73 2
/guser BotAdmin Dave12 2
Con questo puoi usare il livello del gruppo nominale negli eventi, per esempio:
on BotAdmin:text:!example:#:{
msg $chan Hello Bot Admin!
}