on @*:join:#:{
inc -u1 %opsjoin. [ $+ [ $chan ] ]
if ( %opsjoin. == off ) || ( %opsjoin. == $null ) || ($nick isop #) { return }
if ($nick == ChanServ || $nick == NickServ || $nick == MemoServ) { return }
if (%opsjoin. [ $+ [ $chan ] ] >= 3) && (%opsjoin. [ $+ [ $chan ] ] <= 5) {
.mode $chan +b $wildsite | unset %opsjoin. [ $+ [ $chan ] ] | halt
}
set -u3 %OPS. [ $+ [ $chan ] $+ . $+ [ $wildsite ] ] $calc( %OPS. [ $+ [ $chan ] $+ . $+ [ $wildsite ] ] + 1 )
if ( %OPS. [ $+ [ $chan ] $+ . $+ [ $wildsite ] ] >= 3) {
if ($nick isop #) return
.mode $chan +b $wildsite
.mode $chan +RMm | .timer666 1 60 .mode $chan -RMm
set %OPS $nick($chan,0)
unset %fastfilters
:loop
inc %fastfilters
inc -u2 %3dad
if (%3dad >= 4) halt
if (%fastfilters > %OPS) halt
set %temp.filter.kicks $ialchan($wildsite,$chan,%fastfilters).nick
if (%temp.filter.kicks == $me) { goto loop }
if (%temp.filter.kicks isop $chan) || (%temp.filter.kicks isvo $chan) { goto loop }
if (%temp.filter.kicks ison $chan) kick $chan %temp.filter.kicks 10 Join FLood Detected
goto loop
}
}