Solitude, using $gettok will trigger the on text event every time, even if words differ from the bad words in the matching range:
on *:text:*:#:if ($gettok(fark ass sex,$1-,32)) echo -a true
hello true hello true testing trueAs you can see, it will match whatever. You should use $findtok:
if ($findtok(fark ass sex,$strip($1-),1,32)) {