on !*:JOIN:#:{
if (!$Timer($+(CheckNicks,.,$network,.,$chan,.,$nick))) { .Timer $+ $+(CheckNicks,.,$network,.,$chan,.,$nick) -md 1 750 badnick_alias $unsafe($chan) $nick }
}
ON *:nick:{
haltdef
var %whloop = 1
while ( $comchan($newnick,%whloop) != $null ) {
var %chan $v1
if (!$nick(%chan,$newnick,@&~%) && $nick(%chan,$me,@&~%)) { badnick_alias %chan $newnick }
inc %whloop
}
halt
}
ON *:op:#test:{
if ($opnick == $me) {
var %loop = 1, %nick , %kickmsg = please change your nick thank you....
while (%loop <= $nick($chan,0)) {
%nick = $nick($chan,%loop)
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$nick($chan,%nick,~&@%+)) { var %banmask = $addtok(%banmask,$MuteBanMask(%nick),32) }
if ($numtok(%banmask,32) == 10) { mode %chan + $+ $str(b,$numtok(%banmask,32)) %banmask | unset %banmask }
}
inc %loop 1
}
}
if (%banmask) { mode %chan + $+ $str(b,$numtok(%banmask,32)) %banmask }
}
Alias MuteBanMask { return q: $+ $address($1,2) }
alias badnick_alias {
var %chan $1 , %nick $2
if (%nick !ison %chan || $nick( %chan , %nick ,@&~%)) { halt }
if ($len( %nick ) < 3 || ($calc($regex(%nick,/[A-Z]/g) * 100 / $len(%nick)) > 30)) {
if (!$Timer($+(CheckNickZ,.,$network,.,%chan,.,%nick))) {
.Timer $+ $+(CheckNickZ,.,$network,.,%chan,.,%nick) 3 15 badnick_still_on_chan $unsafe(%chan) %nick
}
}
}
alias badnick_still_on_chan {
inc $+(%,CheckWarnings,.,$network,.,$1,.,$2)
if ($2 ison $1 && $($+(%,CheckWarnings,.,$network,.,$1,.,$2),2) < 3) { NOTICE $2 WARNING }
elseif ($($+(%,CheckWarnings,.,$network,.,$1,.,$2),2) == 3 && $2 ison $1 ) { if ($+(q:$address($2,2)) !isban $1) { mode $1 +b $+(q:$address($2,2)) } | .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset % $+ $+(CheckWarnings,.,$network,.,$1,.,$2) }
elseif ($2 !ison $1) { .Timer $+ $+(CheckNickZ,.,$network,.,$1,.,$2) off | unset $eval($+(%,CheckWarnings,.,$network,.,$1,.,$2),1) }
}