raw 311:*:{
if (%name != off) && ($nick !isop #chat) {
var %a = 1, %b = $numtok($3-,32)
while %a <= %b {
if $hget(bad.name,$gettok($3-,%b,32)) {
ban -ku60 #chat $2 2 14Offensive IrcName Detected
%a = %b
}
inc %a
}
return $regsubex($1-,/\b( $+ %name $+ )\b/gi,$str(*,$len(\t)))
}
haltdef
}
on *:start:{
if !$hget(bad.name) { .hmake bad.name 10 }
if $exists(bad.name.hsh) { .hload bad.name bad.name.hsh }
}
on *:exit:{
.hsave -o bad.name bad.name.hsh
}
on *:disconnect:{
.hsave -o bad.name bad.name.hsh
}
menu status {
-
Add Bad IrcName
.Add Bad IrcName : bad.name $?= "Add bad name" | echo $asctime([HH:nn]) * 4Bad IrcName Added.
.-
.Remove Bad IrcName : bad.name $?= "Remove bad name" | echo $asctime([HH:nn]) * 4Bad IrcName Removed.
.-
.View Bad IrcName List: run bad.name.hsh
.-
.Clear Bad IrcName List: .hfree bad.name | $iif($exists(bad.name.hsh),remove bad.name.hsh)
}
alias bad.name {
if !$1 { .notice $nick No word specified }
else { .hadd -m bad.name $1 $iif($hget(bad.name,$1),$false,$true) }
}