Here how I solved:

Code
on *:text:*:#channel1,#channel2:{ 
  if ($nick !isop #) && ($nick !ishop #) { 
    $bad($1-) 
  } 
} 

alias bad { 
  var %o 0 
  while (%o <= $lines(badwords/badwords.txt)) { 
    if ($read(badwords/badwords.txt,%o) == $1) && (%bad [ $+ [ $nick ] ] == $nick) {
      mode $chan +b $address($nick,2) 
      kick $chan $nick KICK AFTER BEEN WARNED
      unset %bad [ $+ [ $nick ] ] 
    } 
    elseif ($read(badwords/verybadwords.txt,%o) == $1) {
      mode $chan +b $address($nick,2) 
      kick $chan $nick DIRECT BAN  (for very bad word)
      unset %bad [ $+ [ $nick ] ] 
    }
    elseif ($read(badwords/badwords.txt,%o) == $1) { 
      kick $chan $nick WARNING  (for not serious badword)
      set %bad [ $+ [ $nick ] ] $nick 
      .timer 1 300 unset %bad [ $+ [ $nick ] ] 
    } 
    inc %o 
  } 
}

Of course I created 2 .txt files (badwords.txt and verybadwords.txt) with words.
Hope is correct.
Thanks

Last edited by Fernet; 03/03/25 03:11 PM.