Portale IRC - Guide scripts e snippet

martedì 16 novembre 2010

Gli Eventi - on BAN/UNBAN

Ogni qualvolta venga vietato l'accesso di un utente ad un determinato canale si attiva l'evento BAN, in caso contrario, ovvero la rimozione di tale divieto, si attiva l'evento UNBAN.

Formato: on <livello>:BAN:<#[,#]>:<comandi>
Esempio: on 1:BAN:#mirc,#irchelp:/msg $nick Spiacente, ma non sei desiderato sul canale $chan

Esempi

on 9:BAN:#newbies:/mode $chan -o $nick | /mode $chan -b $banmask

L'evento sopra riportato si innesca quando un operatore banna (dall'inglese "to ban",ndT) da un determinato canale un utente con livello di accesso 9. L'identificatore $banmask si riferisce al banmask usato per il ban dell'utente.


on 1:UNBAN:#:/msg $bnick Sei appena stato bannato.

Questo evento invece viene innescato quando un utente viene sbannato (dall'inglese "to unban",ndT) da un determinato canale. $bnick fa riferimento al nickname dell'utente bannato, ma questo identificatore è valido solamente nel caso in cui il banmask in se include un nickname. Se il banmask non include un nickname, $bnick equivale a $null.

Da ricordare che $banmask è solitamente una stringa wildcard, cioè contiene metacaratteri ("*" e "?",ndT) che possono corrispondere a più entry della sezione Remote Users. Per esempio, se viene posto un ban con stringa *!k*d@*.com, essa comprenderà gli utenti:


*!khaled@mirc.com
*!kha*d@*am.d*mo?.*
*!k*@*

Confrontare i livelli

E' possibile confrontare i livelli dell'operatore che setta il ban e quello della persona che lo riceve, utilizzando i prefissi <,>,<=,=>,<>, o =, come indicato nel modo seguente:

on >=2:BAN:#mIRC:/msg $chan $nick ha bannato $banmask (legale)
on 1:BAN:#mIRC:/msg $chan $nick ha bannato $banmask (illegale)

Nella situazione sopra riportata, se il livello di colui che setta il ban è più grande oppure uguale al livello dell'utente bannato, allora è un ban legale. Altrimenti, in caso contrario viene processata la seconda linea di Ban indicando che il divieto è illegale. Da ricordare che si stanno confrontando i livelli utente di colui che setta il ban e di colui che lo riceve, e ciò non ha niente a che fare con il livello 2 della definizione.


Nota: Questi eventi vengono processati solo in caso di ban a nickname, perchè il server IRC trasmette soltanto il nickname dell'utente che è bannato/sbannato e non il suo indirizzo. Inoltre, gli indirizzi IP non vengono risolti in automatico nei corrispettivi indirizzi DNS, per cui essi non generano corrispondenza con la lista utenti, e le banmask terminanti in @* vengono ignorate perchè corrisponderebbero a tutti gli utenti della lista.

Nessun commento:

Posta un commento