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