on @*:JOIN:#: { if (!$regex($site,/(2001[:]67c[:]2f08[:]|192[.]184[.]9[.]108|192[.]184[.]10[.]118|192[.]184[.]10[.]9|192[.]184[.]8[.]73|[.]irccloud[.]com)/i)) { set -z %door. [ $+ [ $wildsite ] $+ . $+ [ $chan ] $+ . $+ [ $network ] ] 3 } } on @*:part:#: { if (!$regex($site,/(2001[:]67c[:]2f08[:]|192[.]184[.]9[.]108|192[.]184[.]10[.]118|192[.]184[.]10[.]9|192[.]184[.]8[.]73|[.]irccloud[.]com)/i)) { if (%door. [ $+ [ $wildsite ] $+ . $+ [ $chan ] $+ . $+ [ $network ] ]) { if (!$Timer($network $+ #)) { .raw MODE $chan +R-k Rev-door | .Timer $+ $network $+ # 1 5 MODE $chan -R } Wbmask2022 $nick $chan unset %door. [ $+ [ $wildsite ] $+ . $+ [ $chan ] $+ . $+ [ $network ] ] } } } alias Wbmask2022 { if ($regex($address($1,2),/(2001[:]67c[:]2f08[:]|192[.]184[.]9[.]108|192[.]184[.]10[.]118|192[.]184[.]10[.]9|192[.]184[.]8[.]73|[.]irccloud[.]com)/i)) { halt } else { putmode -t0 $2 +b $regsubex($address($1,14),/[*?]+/g,*) } } On !^*:JOIN:#: { if ($nick(#,$me,@&~%)) { var %join.flood = $+($left($nick,5),*!*@*) var %filterednickXLZx `^-_\|}{[] | if ($regex($nick,/[\Q $+ %filterednickXLZx $+ \E]/g) >= 1) { set -u3 %clnicks1 $addtok(%clnicks1,$nick,44) } if (%join. [ $+ [ # ] $+ . $+ [ %join.flood ] ] == $null) { set -u3 %join. [ $+ [ # ] $+ . $+ [ %join.flood ] ] 1 } else { inc %join. [ $+ [ # ] $+ . $+ [ %join.flood ] ] } if (%join. [ $+ [ # ] $+ . $+ [ %join.flood ] ] >= 3) { set -u3 %clnicks1 $addtok(%clnicks1,$nick,44) putmode $chan +b $mask($fulladdress,2) if (%modechan1R != $true) { .raw mode $chan +R-k %join.flood echo $chan ( cloned nicks Flood ) !!!!! Channel Locked !!!!! %version set -u5 %modechan1R $true .timer $+ mass $+ $chan 1 5 mode $chan -R } if ($nick(#,$me,@%&~)) { var %mcln 4 | while (%clnicks1) { kick $chan $gettok(%clnicks1,1- %mcln,44) (nick/host is trying to (re)join too fast -- throttled.) %version | %clnicks1 = $deltok(%clnicks1,1- %mcln,44) } } } } } on *:JOIN:#: { if (%Netsplit-Detected. [ $+ [ $chan ] $+ . $+ [ $network ] ]) { halt } if ($nick(#,$me,@&~%)) { if (!$regex($site,/(192[.]184[.]9[.]108|192[.]184[.]10[.]118|192[.]184[.]10[.]9|192[.]184[.]8[.]73|[.]pk|.*irccloud[.]com|.*mibbit.com|.*kiwiirc.com)/i)) { set -u5 %mjnicks. $+ $network $+ . $+ $chan $addtok($($+(%,mjnicks.,$network,.,$chan),2),$nick,44) | set -u5 $+(%,ipflood.,#) $addtok($($+(%,ipflood.,#),2),$mask($fulladdress,4),32) } if ($floodchk(jflood, 2, $network $chan) > 3) { if (!$Timer(mass $network #)) { .raw MODE $chan +R-k Mass.Join | .Timer $+ $chan 1 5 MODE $chan -R | .timer $+ mass $+ $chan 1 5 mode $chan -R | .Timer $+ $network $+ # 1 5 MODE $chan -R } .timersuper.kickz. [ $+ [ # ] ] -m 1 10 super.modez $safe2018($chan) .timermjkick $+ $network $+ $chan -m 1 10 if ($($+(%,mjnicks.,$network,., $safe2018($chan) ),2)) $({,0) kick $safe2018($chan) $!($+(%,mjnicks.,$network,., $safe2018($chan) ) ,2) *** $+ Mass Joins Detected $+ *** $(|) unset $!+(%,mjnicks.,$network,., $safe2018($chan) ) $(},0) if ($numtok($($+(%,mjnicks.,$network,.,$chan),2),44) == 4) { kick $chan $($+(%,mjnicks.,$network,.,$chan),2) Mass Joins detected %version .timermjkick $+ $network $+ $chan off unset $eval($+(%,mjnicks.,$network,.,$chan),1) } } } }