Like I mentioned, you can't do a $read search like that because it is backwards. Doing it that way, you're checking if the entire new nick is part of a bad word. You aren't checking if a bad work is part of the new nick. You'd have to loop through all of the bad words to do the check that is needed.

Code:
var %i = 1, %t = $lines(filename.txt)
while (%i <= %t) {
  if ($read(filename.txt,nt,%i) isin $newnick) {
    ban -ku30 #channel 2 $newnick Not Allowed!
    return
  }
  inc %i
}


Note that this is just a really quick example as I don't have time to do more right now and it would only work for one channel. It can be expanded upon to work in multiple channels. Also, as I mentioned, if you're going to have a lot of words, it's going to be more efficient to have the words in a hash table and loop through that instead of the text file. Also, if you're going to loop through a text file, $fread may be faster. And there may even be a good regex method that can check all parts of a newnick and search for those in the text file, but I don't know how that would be written.


Invision Support
#Invision on irc.irchighway.net