rendered paste body;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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)
}