# badrealname.tcl
# original code by Papillon
# modified by caesar
# version 1.3
# Many thanks to ppslim for the ctrl:filter proc.
# What bad realnames should be banned?
set badr(list) {
"foo bar"
"bla bla"
"*moo*"
"???"
"*http://*"
"*www.*"
}
# The realname check should be done only in what channel?
set badr(chan) "#channel"
# For how many minutes whould you like the ban?
set badr(time) 60
# What reason will be used when an person is found using an bad realname?
set badr(reason) "You norteh norteh boy!"
# binds #
bind join - "$badr(chan) *" badrealname:join
bind raw - 311 badrealname:check
# join #
proc badrealname:join {nick host hand chan} {
if {![validuser $hand] || [strlwr $nick] != [strlwr $::botnick]} {
putserv "WHOIS $nick"
}
}
# check #
proc badrealname:check {from key arg} {
set realname [strlwr [ctrl:filter [string range [lindex [split $arg] end] 1 end]]]
foreach bah $::badr(list) {
if {![string match $bah $realname]} {
continue
}
newchanban $::badr(chan) "*!*@[lindex [split $arg] 3]" $::botnick $::badr(reason) $::badr(time)
break
}
}
proc ctrl:filter {str} {
regsub -all -- {\003[0-9]{0,2}(,[0-9]{0,2})?|\017|\037|\002|\026|\006|\007} $str "" str
return $str
}
putlog "badrealname.tcl.. loaded."