05. USERS

  • 2 Risposte
  • 5070 Visite

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

*

Offline Fabius

  • *****
  • 8069
  • 245
  • :: ninja style ::
    • Mostra profilo
    • Venom Team
05. USERS
« il: Aprile 01, 2005, 12:18:43 am »
Eccoci giunti a trattare le Liste di Utenti. Dunque, mIRC consente di riconoscere gli altri utenti (per il loro nick name, o per il loro userid o per il loro host/IP) e di dividerli in "categorie" numerate chiamate "livelli". QUesto consente di associare delle azioni automatiche quando in un evento compaiono utenti appartenenti ad un certo livello (è questo il caso delle cosiddette "Shit List", tipo Kick-Ban all'evento di entrata, "on JOIN"...) oppure di accordare permessi ad utenti di un certo livello (ad esmepio per i cloni BOT, ci si setta come master col proprio indirizzo e li si comanda tramite il porpio mIRC, in quanto il nostro indirizzo viene impostato con un livello che ha permessi di owner).

Gli indirizzi degli utenti registrati ed i rispettivi livelli vengono scritti nella sezione "Users" del mIRC Editor con questa forma:

<livello1,livello2,...,livelloN>:<nick|indirizzo>

Ma facciamo un esempio per capire meglio:

3,5,6:FaBiu!fabius@fabius.cc

Il primo livello è ritenuto un accesso generale, ciò sta a significare che un utente può accedere a tutti i livelli uguali o maggiori di 3. Tutti gli altri livelli di conseguenza saranno accessibili solo in classe di assegnazione.

Se si desidera forzare il primo livello di accesso al fine di ottenere un livello specifico bisognerà far precedere il comando dal simbolo "=":

=3,5,6:FaBiu!fabius@fabius.cc

Così facendo l'utente in questione avrà accesso ai livelli specifici 3, 5 e 6 ed a nessun altro.

Per capire meglio il significato di questi livelli è sufficiente guardare la sintassi generale di un evento:

<prefisso> <livello>:<evento>:<finestra>:<comando>

Impostando un livello preciso, l'evento varrà solo per gli utenti appartenenti a quel determinato livello.

Inoltre è da far presente che possiamo usare non solo livello composti da numeri, ma anche da nomi, i codiddetti "livelli con nome". Ecco un esempio che chiarisce la questione:

amici:FaBiu!fabius@fabius.cc

Impostato il livello "amici", se ad esempio vogliamo oppare gli utenti della lista "amici" non appena entrano in un canale possiamo usare questo evento:

on amici:JOIN:#canale:{ if ($me isop $chan) { /mode $chan +o $nick } }

Negli eventi possiamo usare the prefissi (o dei suffissi) da scrivere prima del livello che impongono delle condizioni già partenza; essi sono:

- Il prefisso +
La limitazione d'uso degli eventi ad un relativo utente è possibile prefissando il comando col simbolo "+".

10:FaBiu!fabius@fabius.cc

ctcp +5:HELP:*:{ /msg $nick Hai accesso di livello agli eventi +5 }

L'utente specificato non avrà accesso a questo evento del ctcp anche se in possesso di un livello superiore, infatti solamente gli utenti di pari livello potranno accedervi.

- Il prefisso *
Si possono attivare degli eventi per gli utenti di qualsiasi livello d'accesso usando il prefisso "*".

on *:TEXT:help:#:{ /msg $nick Hai accesso all'evento * }

- Il prefisso !

Impedire l'accesso ad un evento riservato a se stessi è possibile usando il prefisso "!".

ctcp !2:HELP:*:{ /msg $nick Hai accesso agli eventi di 2° ordine }

- Il prefisso @
L'accesso agli eventi è limitabile solamente a chi è OP in un canale usando il prefisso "@".

10:FaBiu!fabius@fabius.cc

on @2:JOIN:#canale:{ /mode $chan +o $nick }

Una volta entrati nel canale specifico, si verrà automaticamente "oppati" e, solo allora, sarà possibile accedere agli eventi.

- Il prefisso &
Impedire l'esecuzione di un evento è possible, nel caso in cui lo script avesse usato precedentemente un comando /halt o /haltdef, usando il prefisso "&".

on &1:TEXT:*:?:{ /echo L'evento non verrà innescato se $halted risulterà vero. }

- Il prefisso $

Sta ad indicare che la sezione matchtext o la definizione in corso contengono espressioni regolari.

on $*:TEXT:m/espressione regolare/switches:#:{ /echo messaggio: $1- }

Le funzioni 'm' e switches sono opzionali. Vengono invece richieste le //.

- Il suffisso =
Impedire, agli utenti con livelli di accesso elevati, l'uso degli eventi più bassi del loro livello è possibile usando il suffisso "=".

10:FaBiu!fabius@fabius.cc

ctcp 2:HELP:*:{ /msg $nick Hai accesso agli eventi di 2° livello }
ctcp 5:HELP:*:=

Con l'evento sopra descritto l'utente non può usare gli eventi inferiori al suo livello d'accesso che equivale a 5.

- Il suffisso "!"
Impedire l'elaborazione di comandi di un determinato evento è possibile usando il suffisso "!".

ctcp 5:PING:*:{ /echo PING! }
ctcp 5:*:*:!

Il suffisso "!" all'estremità della linea di comando blocca un eventuale modifica del remote agli utenti di 5° livello.


Creazione di Gruppi

La creazione di diversi gruppi di eventi nello stesso script è resa possibile con l'utilizzo del prefisso "#".

#gruppo1 on
...
[lista degli eventi]
...
#gruppo1 end

E' possibile usare i comandi /enable e /disable (che vedremo tra poco) rispettivamente per abilitare o disabilitare un gruppo. Una volta disabilitato un gruppo questo verrà ignorato dal processo di caricamento dello script. L'aspetto di un gruppo disabilitato sarà:

#gruppo1 off
...
[lista degli eventi]
...
#gruppo1 end

Si ricordi che non è possibile la creazione di sottogruppi in un gruppo generale.

Ordine di Definizione

Molti prefissi e comandi sono "sensibili" ad un ordine numerico delle definizioni. È dunque consigliata la realizzazione di script con eventi in ordine crescente, da quelli di livello più piccolo salendo man mano verso il più alto, così facendo si avrà una migliore esecuzione dei comandi.


Ora veniamo ai comandi: come si possono aggiungere, modificare ed eliminare gli untenti delle liste (o le intere liste) tramite comandi remoti...

*

Offline Fabius

  • *****
  • 8069
  • 245
  • :: ninja style ::
    • Mostra profilo
    • Venom Team
Re:05. USERS
« Risposta #1 il: Aprile 01, 2005, 12:18:55 am »
Esistono diverse liste pregenerate nel mIRC (AutopOP List, AutoVoice List, Ignore List, Protect List, Notify List). Ecco i comandi da usare per gestirle da remoto...

- AutoOP List

/aop [-rw] <on|off|nick/indirizzo> [#canale1,#canale2...] [tipo] [network]

-r indica la rimozione dell'indirizzo.
-w applica l'AutoOP a ogni network.

Nel caso non venga specificato un tipo allora soltanto il nickname degli utenti verra usato. Se invece venisse specificato un tipo allora l'indirizzo utente è osservato dal server.

L'identificatore $aop restituisce $true se l'AutoOP è abilitato e $false se non lo è.

L'identificatore $aop(indirizzo/N) restituisce tutto l'indirizzo di corrispondenza nella lista, o l'indirizzo numero N. La proprietà .type restituisce la lista dei canali.

- AutoVoice List

La lista AutoVoice funziona esattamente allo stesso modo della lista AutoOP. Il comando /avoice, usa anch'esso lo stesso format di /aop, ed anch'esso può essere usato per aggiungere o rimuovere gli utenti dalla lista relativa.

L'identificatore $avoice restituisce $true se l'AutoVoice è abilitato e $false se non lo è.

L'identificatore $avoice(indirizzo/N) restituisce tutto l'indirizzo di corrispondenza nella lista, o l'indirizzo numero N. La proprietà .type restituisce la lista dei canali.

- Ignore List

/ignore [-lrpcntikdwxu#] <on|off|nick/indirizzo> [tipo] [network]

Dove p = privato, c = canale, n = notice, t = ctcp, i = invito, k = control codes, d = dcc.

-u# specifica un ritardo espresso in secondi dopo di che l'ignore verrà rimosso automaticamente.
-r indica la rimozione dell'indirizzo dell'utente.
-x indica che l'indirizzo deve essere escluso dagli ignores.
-l visualizza la lista degli indirizzi ignorati.
-w applica l'ignore a ogni network.

Nel caso in cui non fosse specificato una tipologia allora soltanto il nickname degli utenti verrà usato. Viceversa specificando una tipologia allora l'indirizzo degli utenti sarà osservato dal server.

E' possibile ripulire l'Ignore List specificando -r senza alcun indirizzo.

Nota: Se la finestra /query risultasse aperta con qualche utente, i messaggi privati non verranno ignorati anche se il suo indirizzo risulterà essere abbinato all'ignore.

L'identificatore $ignore restituirà $true se l'ignore è abilitato e $false se non lo è.

L'identificatore $ignore(address/N) restituisce tutto l'indirizzo di corrispondenza nella lista, o l'indirizzo numero N. La proprietà .type restituisce il metodo di ignore. La proprietà .network restituisce, se esiste, il network associato. La proprietà .secs restituisce il tempo rimanente alla rimozione dell'ignore.

- Protect List

Nel caso in cui si sia operatori in un canale, tutti gli utenti aggiunti alla Protect List saranno automaticamente protetti. E' possibile aggiungere un indirizzo alla lista nel seguente format:

nickname,#canale1,#canale2

Nota: Questa opzione è limitata ai nicknames a causa dei vari procedimenti eseguiti dai vari server IRC, è comunque possibile specificare un indirizzo, e se gli utenti sono nella IAL (Internale Adsdress List) saranno protetti in base a questo.

Il comando /protect

/protect [-rw] <on|off|nick> [#canale1,#canale2,...] [tipo]

-r indica la rimozione dell'indirizzo.
-W applica la protezione dell'utente a ogni network.

Nel caso non fosse specificato alcun tipo verrà usato soltanto il nickname degli utenti. In caso contrario l'indirizzo degli utenti verrà esaminato dal server.

L'identificatore $protect restituirà $true se la protezione è abilitata e $false se non lo è.

L'identificatore $protect(indirizzo/N) restituirà tutto l'indirizzo di corrispondenza nella lista, o l'indirizzo numero N. La proprietà .type restituisce la lista dei canali. La proprietà .network restituisce il network associato, se esiste.

- Notify List

/notify [-shrl] <on|off|nickname> [nota]

È possibile rendere visibili o meno le informazioni agendo sul comando /notify on o /notify off.

-sh viene utilizzato per visualizzare o nascondere la finestra di notifica

-r rimuove il nickname specificato nella Notify List.
 
-l visualizza la Notify List.

La nota sono facoltativa. Essa permette la visualizzazione di un appunto accanto al nick aggiunto alla Notify List.

Nel caso in cui un nickname venga prefissato con il simbolo + allora mIRC eseguirà un /whois sul nickname come componente di informazione. Tuttavia, nel caso ciò venisse eseguito in molteplici nicknames il server IRC potrebbe disconnettervi per flood.

È possibile forzare manualmente il mIRC all'aggiornamento della Notify List digitando /notify senza alcun parametro.

Nota: Alcuni network potrebbero lasciar usare un indirizzo completo anziché un nickname, l'unico modo per accertarsi del suo funzionamento è provare.


Si possono anche creare benissimo liste personalizzate (come ad esempio la Shit List, o la AutoNuke List), utilizzando i livelli precedentemente descritti). Ecco i comandi da usare per gestirle da remoto...


Comandi dei Gruppi

Questi comandi permettono di attivare o disattivare i gruppi nei remotes.

- Abilitare un gruppo

/enable <gruppo1 gruppo2 ... gruppoN>
Abilita i gruppi specificati in tutti gli scripts.

ESEMPIO:
/enable #uno #due #tre

E' anche possibile specificare una wildcard per abilitare tutti i gruppi corrispondenti.

ESEMPIO:
/enable #help*
- Disabilitare un gruppo

/disable <gruppo1 gruppo2 ... gruppoN>
Disabilita i gruppi specificati in tutti gli scripts.

ESEMPIO:
/disable #uno #due #tre

È anche possibile specificare una wildcard per disabilitare tutti i gruppi corrispondenti.

ESEMPIO:
/disable #help*

/groups [-e|d]
Questo comando mostra la lista di tutti i gruppi, sia abilitati che disabilitati.


Comandi per Utenti e Livelli

È possibile utilizzare i seguenti tre comandi per aggiungere e rimuovere utenti alla user list, così come aggiungere o rimuovere livelli per utenti esistenti.

/auser [-a] <livelli> <nick|indirizzo> [info]
Questo aggiunge il nick o indirizzo specificato esattamente come è dato alla user list con il livello specificato. Se si specifica un [-a] e se l'utente esiste, il livello specificato è aggiunto ai livelli che l'utente ha già. Si ricordi che se il primo livello non è preceduto dal segno uguale (=) sarà considerato come un livello generale d'accesso.

/auser 1,2,3 Fabius

Questo comando aggiunge l'utente Fabius coi livelli d'accesso 1, 2 e 3 alla user list (rimpiazzando un utente esistente con lo stesso nome).

/auser -a 1,2,3 Fabius

Questo comando aggiunge all'utente Fabius i livelli 1, 2 e 3. Se l'utente non esiste, viene creato.

/auser -a =1,2,3 Fabius

Questo comando assomiglia al precedente, ma il =1 è molto importante. Il =1 indica che il livello di accesso generale iniziale non sarà sostituito.

Il parametro info permette l'aggiunta di alcune note durante l'aggiunta dell'utente alla user list, è possibile inoltre far riferimento all'identificatore $ulist().

/flush [-l] [livelli]
Elimina i livelli ad un utente inserito nella user list.

ESEMPIO:
/flush 1,2,3

E' possibile usare -l per la rimozione dei livelli degli utenti nella user list.

/guser [-a] <livelli> <nick> [tipo] [info]
Il funzionamento di questo comando è lo stesso del /auser salvo il fatto che osserva l'indirizzo dell'utente specificato e lo aggiunge alla user list. Questo è reso possibile grazie alla funzione /userhost sul dato nickname la quale restituisce un indirizzo nella disposizione specificata dal "tipo".

Il parametro info permette l'aggiunta di alcune note durante l'aggiunta dell'utente alla user list, è possibile inoltre far riferimento all'identificatore $ulist().

/iuser <nick|indirizzo> [info]
Permette la modifica delle informazioni collegate ad un utente.

/ruser [livelli] <nick|indirizzo> [tipo]
Se usato senza specificare livelli, rimuoverà l'utente specificato dalla user list. Specificandone il livello esso verrà rimosso dall'utente in questione. Eliminati tutti i livelli di un dato utente anch'esso di conseguenza verrà eliminato. Specificandone una tipologia verrà osservato l'indirizzo degli utenti tramite il /userhost con conseguente rimozione di tutti gli utenti appartenenti a quella categoria.

/ruser Fabius
/ruser 1,2,3 Fabius
/ruser 1,2,3 Fabius 1

Usando /ruser Nick! (con punto esclamativo alla fine), verranno rimossi tutti gli utenti con l'indirizzo che inizia per Nick!.

/rlevel [-r] <livello>
Rimuove tutti gli utenti di una user list aventi il livello d'accesso specificato.

/rlevel 20
/rlevel =10

Quando è specificato il parametro -r, la rimozione verrà applicata a tutti i livelli di accesso dell'utente. Tutti i livelli di corrispondenza saranno rimossi. In mancanza di livelli l'utente in questione verrà rimosso.

/rlevel -r 1,5,7,8

/ulist [<|>] <livello>
Restituisce una lista di utenti avente livello specificato.

/ulist <10
Restituisce una lista di utenti con livello minore ed uguale a 10

/ulist >5
Restituisce una lista di utenti con livello maggiore ed uguale a10

/ulist 4
Restituisce una lista di utenti con livello pari a 4

Nota: I comandi /guser e /ruser eseguono un /userhost su un determinato nick per trovarne l'indirizzo, il comando subirà un pò di ritardo dovuto all'intervento del server.

*

Offline Fabius

  • *****
  • 8069
  • 245
  • :: ninja style ::
    • Mostra profilo
    • Venom Team
Re:05. USERS
« Risposta #2 il: Aprile 01, 2005, 12:19:24 am »
talmente lungo che non ci stava in un solo post... becca questo andrea ;D