;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Dynast-Script ;; ;; (-D-) ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; on *:start: { fullname sherry } on *:NOTICE:*:?: { set -u3 %nickss $addtok(%nickss,$nick,32) set -u3 %addresss $addtok(%addresss,*!*@ $+ $gettok($address,2,64),32) if ($Numtok(%nickss,32) > 6) { mode $me +R set %an %addresss var %x 1, %D 1 while ($gettok(%an,%x,32)) { .timer 1 %D .ignore $ifmatch | inc %x | inc %D 1 } } .timer 1 $calc(%D +10) unset %a .timer 1 $calc(%D +20) mode $me +R } on *:text:*:#: { if (%Bot.Protections == ON) && ($me isop #) { if ($nick isreg #) { if ($chr(35) isin $1-) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: Advertising channels detected. ( $+ $time $+ ) by dynast } if (www. isin $1-) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: websites detected. ( $+ $time $+ ) by dynast } if (http:// isin $1-) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: Advertising websites detected. ( $+ $time $+ ) by dynast } hinc $+(-mu,$iif($hget($nick,$hash(%flood.check,32)).unset,$ifmatch,5)) $nick $hash(%flood.check,32) 1 if ($hget($nick,$hash(%flood.check,32)) == 3) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: Repeating detected. ( $+ $time $+ ) by dynast } if ($chr(35) !isin $1-) { inc -u6 %flood. [ $+ [ $nick ] ] } if (%flood. [ $+ [ $nick ] ] == 4) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: Flood detected. ( $+ $time $+ ) by dynast unset %flood. [ $+ [ $nick ] ] } } } } on !*:action:*:#: { if (%Bot.Protections == ON) && ($me isop #) { if ($nick isreg #) { if ($chr(35) isin $1-) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: Advertising channels detected. ( $+ $time $+ ) by dynast } if (www. isin $1-) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: Advertising websites detected. ( $+ $time $+ ) by dynast } if (http:// isin $1-) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: Advertising websites detected. ( $+ $time $+ ) by dynast } hinc $+(-mu,$iif($hget($nick,$hash(%flood.check,32)).unset,$ifmatch,5)) $nick $hash(%flood.check,32) 1 if ($hget($nick,$hash(%flood.check,32)) == 3) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: Repeating detected. ( $+ $time $+ ) by dynast } if ($chr(35) !isin $1-) { inc -u6 %flood. [ $+ [ $nick ] ] } if (%flood. [ $+ [ $nick ] ] == 4) { banQ # *!*@ $+ $gettok($address,2,64) 10800 $nick BANNED: Flood detected. ( $+ $time $+ ) by dynast unset %flood. [ $+ [ $nick ] ] } } } } on *:connect: { .timers off | unset %Bot.Join* | .timer 1 1 mode $me +R | set %Bot.Protections ON } alias banQ { if ($me !isop $1) && ($1 !isnum) goto END if ($1 isnum) && ($5) { $2- | .timerUNBANQ $+ $3 $+ $r(1,9999999999) $+ $r(A,Z) $+ $r(A,Z) $+ $r(A,Z) 1 $1-3 $replacE($4,+,-) $5- | goto END } if ($timer(banQ1).com) { var %x = $gettok($timer(banQ1).com,6-,32) $gettok($timer(banQ2).com,6-,32) $gettok($timer(banQ3).com,6-,32) $gettok($timer(banQ4).com,6-,32) if ($istok(%x,$2,32)) Halt else var %x = $addtok(%x,$2,32) if (%numtok(%x,32) == 13) halt ;;;if (%numtok(%x,32) == 19) halt .timerBANQ1 1 1 BANQ $3 //mode $1 +bbbbbb $gettok(%x,1-6,32) .timerBANQ2 1 1 BANQ $3 //mode $1 +bbbbbb $gettok(%x,7-12,32) ;;;.timerBANQ3 1 1 BANQ $3 //mode $1 +bbbbbb $gettok(%x,13-18,32) if ($numtok(%x,32) = 5) { //mode $1 +mr | .timer 1 40 //mode $1 -m | .timer 1 50 //mode $1 -r | /timer 1 3 $+(.timerUNBANQ,$1,*) OFF } if ($numtok(%x,32) < 6) && ($4 ison $1) { if ($ial($2,1).nick) { inc %Bot.Kicks | kick $1 $4- } } goto END } else { if ($me !isop $1) Halt .timerBANQ1 1 2 BANQ $3 //mode $1 +bbbbbb $2 .timerBANQ2 1 2 BANQ $3 //mode $1 +bbbbbb ;;;timerBANQ3 1 2 BANQ $3 //mode $1 +bbbbbb if ($4 ison $1) { inc %Bot.Kicks | kick $1 $4- } } :END } on !*:join:#: { if (%Bot.Protections == ON) && ($me isop #) { if (%Bot.Joins !== OFF) { set -u4 %a $addtok(%a,*!*@ $+ $gettok($address,2,64),32) set -u4 %Bot.Join-Nickss $addtok(%Bot.Join-Nickss,$nick,32) if ($numtok(%Bot.Join-Nickss,32) > 4) { mode # +mr .timer 1 2 setns .timer 1 4 Set %Bot.Joins OFF .timer 1 2 set %Bot.Protections OFF set -u80 %Bot.Flood ON Join-Flood-Clones .timer 1 12 start-qban # } } } } on *:rawmode:#: { if ($nick == $me) && ($1- == +mr) { .timer 1 1 mode # +bbbbbb %a .timer 1 2 mode # +bbbbbb $gettok(%a,6-,32) } } alias setns { set %Bot.Join-Nicks %Bot.Join-Nickss } alias start-qban { .timerzxc $numtok(%Bot.Join-Nicks,32) $kick-time kick-qban $1 .timer 1 $calc($numtok(%Bot.Join-Nicks,32) + 40) mode $1 -mr .timer 1 60 set %Bot.Protections ON .timer 1 $calc($numtok(%Bot.Join-Nicks,32) + 30) unset %Bot.Joi* } alias kick-time { if ($numtok(%Bot.Join-Nicks,32) < 11) { return 1 } if ($numtok(%Bot.Join-Nicks,32) < 20) { return 2 } if ($numtok(%Bot.Join-Nicks,32) < 40) { return 3 } if ($numtok(%Bot.Join-Nicks,32) > 40) { return 4 } } alias kick-qban { var %Bot.Join-Nicksick = $gettok(%Bot.Join-Nicks,$r($numtok(%Bot.Join-Nicks,32),1),32) if (%Bot.Join-Nicksick ison $1) { inc %Bot.Kicks | kick $1 %Bot.Join-Nicksick BANNED: Join-Flood detected. ( $+ $time $+ ) by dynast } Set %Bot.Join-Nicks $remtok(%Bot.Join-Nicks,%Bot.Join-Nicksick,32) }