Swear Kicker
Written by Kintar0

Keep the profanity out of your channels. Sometimes you just dont want to see it or others dont, enforce your channel with a swear kicker. Here we have 2 methods of handling bad language. The code below goes into mIRC remotes.

Method #1

on @*:text:*:#: { if ($nick isop #) return var %x $strip($1-) if (*fuck* isin %x || *shit* isin %x || *bitch* isin %x) { raw -q mode # +b $wildsite kick # $nick No swearing! } }

Above, we have a simple method which reads channel text on channels you are op on. If you wish to specify a certain channel, replace # on the first line with your channel. Method #1 strips all control codes from the user's text then checks if the 3 swear words match any part of the text. If a match is found, mIRC proceeds to kick/ban that user.

This method is used by many people but isn't the most efficient because listed words may be part of another word yet it still kicks that user, such words as pass or dickenson are examples of possible mistaken swear words for the above example. If you dont mind since there's not too many words that will match swear words, go ahead and use method #1. If you want to be sure it was a swear word, try method #2, shown below.

Method #2

alias -l swear.words { return fuck.shit.damn.bitch } on @*:text:*:#: { if ($nick isop #) return var %x $strip($1-) , %i $numtok($swear.words,46) while (%i) { if ($istok(%x,$gettok($swear.words,%i,46),32)) { raw -q mode # +b $wildsite kick # $nick No swearing! return } dec %i } }

Method #2 uses a local alias (so only that remote file can call it) to store the bad words list. Each word is seperated by a period. We used tokens to grab the information from the alias. The on text event cycles through each word in the swear word list ($swear.words) and if mIRC finds that one of those words are in the user's text and seperated by a space (which is assumed as an entire actual word) then we proceed to kick/ban.

This method is more accurate than method #1 which may cause you to kick users who actually didn't swear. The nice thing is you can add as many words to the list as you wish, seperated by a period as shown above in the $swear.words alias.

If you find any errors or have any questions/comments, please contact us via email, memo, or our script forum. Thanks for your time.

2000-2001 ClanX Scripterz Organization