Documentazione mIRC

Access levels

Access levels

Indice

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.

Contenuto - 1 Elenco utenti - 2 Aggiungere/Rimuovere utenti - 2.1 Per esempio: - 2.2 Utilizzo - 3 Prefissi degli eventi - 3.1 prefisso me - 3.2 prefisso ! - 3.3 prefisso @ - 3.4 prefisso & - 3.5 prefisso * - 3.6 prefisso + - 3.7 Livelli di accesso nominali

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 è opzionale e può essere usato per memorizzare alcune informazioni aggiuntive sull’utente o altri dati vari utili.

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 di un evento è usato per indicare quale livello/gruppo può attivare quell’evento. Per esempio:

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!
}