All pastes #586351 Raw Edit

Timedban

public text v1 · immutable
#586351 ·published 2007-06-23 19:53 UTC
rendered paste body
alias timedban {
  if (($1) && ($2) && ($3)) {
    if ($me isop $1) {
      var %i = 0, %v = 0, %x = y 31536000,M 2592000,w 604800,d 86400,h 3600,m 60,s 1
      while (%i < $regex(TimedBan,$3,/(\d+[yMwdhms])/g)) {
        inc %i 1
        var %v = %v + $calc($left($regml(TimedBan,%i),-1) * $gettok($matchtokcs(%x,$right($regml(TimedBan,%i),1),1,44),2,32))
      }
      if ($ialchan($2,$1,0) > 0) {
        var %y = 0
        while (%y < $ialchan($2,$1,0)) {
          inc %y 1
          ban -u $+ %v $1 $2
          kick $1 $gettok($ialchan($2,$1,%y),1,33) $iif($4-,$v1,Bye!) - [4Ends: $asctime($calc($ctime + %v),ddd $+ $chr(44) mmm doo $+ $chr(44) yyyy -- HH:nn:ss) $+ ]]
          ; ban -k doesn't work on addresses ...
        }
      }
      else { ban -u $+ %v $1 $2 }
    }
  }
  else { echo -ac info * /timedban: insufficient parameters }
}