Sto apportando modifiche a questa addon che kikka/banna un utente se usa parole contenute in un file badwords.txt.
In particolare vorrei aggiungere una stringa in modo che alcune parole contenute in una frase siano escluse. Queste parole sono contenute in un file eccezioni.txt.
Ad esempio:
-Se una frase contiene CESSO , si viene kikkati. Ma la parola CESSO è contenuta anche in SUCCESSO. Per cui la parola SUCCESSO viene messa nelle eccezioni. Ma un utente potrebbe scrivere "SEI_UN_CESSO_SPORCO", per cui tra le badwords aggiungo *CESS* (così copre il anche plurale). Ogni parola che contiene CESSO/I ma non è volgare, viene aggiunta alle eccezioni (ad esempio sucCESSivamente...)
-Oppure se uno spamma con un http o https , deve essere kikkato/bannato , per cui aggiungo *HTTP* alle badwords , ma nelle eccezioni aggiungo ad esempio *http://www.miositoweb* , oppure *https://www.mioforum* (non sto spammado, quei link sono falsi)
========================
Codice: Seleziona tutto
on *:text:*:#CHANNEL:{
if ($nick !isop #) && ($nick !ishop #) && ($nick !isvoice #) {
$bad($1-)
}
}
alias bad {
var %o 1
while (%o <= $lines(badwords\badwords.txt)) {
;============MIA AGGIUNTA=======
if ($read(badwords\eccezioni.txt, %o) iswm $1- ) && (%bad [ $+ [ $nick ] ] == $nick) { halt }
;===============================
if ($read(badwords\badwords.txt, %o) iswm $1- ) && (%bad [ $+ [ $nick ] ] == $nick) {
ban -u3600 #CHANNEL $address($nick,2) | write $mircdir $+ banemule.txt *Badwords* $date $time $nick ---> $address
kick #CHANNEL $nick Eri stato avvisato! Leggi le regole e rientra, fai con calma!
unset %bad [ $+ [ $nick ] ]
}
elseif ($read(badwords\badwords.txt, %o) iswm $1- ) {
kick #CHANNEL $nick Scrivere $read(badwords\badwords.txt, %o) non è ammesso in questo canale. Questo è un avviso! Alla prossima scatta il ban!
set %bad [ $+ [ $nick ] ] $nick
.timer 1 300 unset %bad [ $+ [ $nick ] ]
}
inc %o
}
}
Dove sbaglio?
Grazie