This simple script warns people the first time they say a bad word and kick bans them the 2nd time.
Add words to the list by using /set %badwords blah.blah2.blah3 etc, seperating each word with a period (.)
on @*:text:*:#:{
if ($nick !isop $chan) {
var %i 1
while (%i <= $numtok(%badwords,46)) {
if ($+(*,$gettok(%badwords,%i,46),*) iswm $1-) {
if (!$read(warned.txt,w,* $+ $address($Nick,2) $+ *)) {
.notice $nick Swearing is against the rules of $chan - Next time you will be kicked
write warned.txt $address($Nick,2)
}
else {
ban -u600 $chan $nick 2
kick $chan $nick 10 minute ban for swearing
}
}
inc %i
}
}
}
on @:text::#:{
if ($nick !isop $chan) {
var %i 1
while (%i <= $numtok(%badwords,46)) {
if ($+(,$gettok(%badwords,%i,46),) iswm $1-) {
if (!$read(warned.txt,w, $+ $address($Nick,2) $+ )) {
.notice $nick Swearing is against the rules of $chan - Next time you will be kicked
write warned.txt $address($Nick,2)
}
else {
ban -u600 $chan $nick 2
kick $chan $nick 10 minute ban for swearing
}
}
inc %i
}
}
}
See this one : " if ($nick !isop $chan) { "
One easy way is just remove it so it will kick the operator too. Ex :
on @:text::#:{
var %i 1
while (%i <= $numtok(%badwords,46)) {
if ($+(,$gettok(%badwords,%i,46),) iswm $1-) {
if (!$read(warned.txt,w, $+ $address($Nick,2) $+ )) {
.notice $nick Swearing is against the rules of $chan - Next time you will be kicked
write warned.txt $address($Nick,2)
}
else {
ban -u600 $chan $nick 2
kick $chan $nick 10 minute ban for swearing
}
}
inc %i
}
}
}
You can also use mirc's perform via mirc's options -> Connect and expand -> Options -> Perform tab -> under perform dialog, place
set -e %badwords fark.asshole.pussy.cum.cock
Make sure you've checked 'Enable perform on connect'
Then every time you start your mirc upon connecting, it'll set the variable for you, rather than typing it in manually. Add more foul words if needed for updating the variable.