All pastes #823986 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-12-19 18:44 UTC
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)
}