All pastes #101816 Raw Edit

Something

public text v1 · immutable
#101816 ·published 2006-07-27 05:29 UTC
rendered paste body
da_supergline {
  if ($0 != 1) {
    echo -a [da_supergline] Invalid parameters. Usage: /da_supergline <Nick>
    halt
  }
  else if ($ipaddress($1) == $null) {
    echo -a [da_supergline] Cannot fetch IP address of user. Please refresh oper.
    halt
  }
  else {
    var %bantype = $?="Type of ban? 1 = Single IP, 2 = Broad mask:"
    if (%bantype != 1 && %bantype != 2) {
      echo -a [da_supergline] Invalid ban type.
      halt
    }

    if (%bantype == 2) {
      var %banmask = $$?="Please specify mask (i.e. xxx.xx.x*.*) ---------------------------- (User IP: $ipaddress($1) $+ )"
    }

    var %bantime = $$?="Duration of ban? (i.e. +3d)"
    var %banreason = $$?="Reason of ban?"

    if (%bantype == 1) {
      var %banip = $ipaddress($1)
    }
    else {
      var %i = 1
      while (%i <= $len(%banmask)) {
        if ($mid(%banmask,%i,1) == x) {
          if ($mid($ipaddress($1),%i,1) !isnum) {
            echo -a [da_supergline] Invalid mask pattern.
            halt
          }
          else {
            var %banip = %banip $+ $mid($ipaddress($1),%i,1)
          }
        }
        else if ($mid(%banmask,%i,1) == $chr(46)) {
          var %banip = %banip $+ $chr(46)
        }
        else {
          var %banip = %banip $+ $chr(42)
        }

        inc %i
      }
    }

    var %confirmation = $$?="Ban will affect $ipaddress(%banip,0).ip user(s). Type OK to confirm ban"

    if (%confirmation == OK) {
      os akill add %bantime *@ $+ %banip %banreason ( $+ $mid(%bantime, 2, $calc($len(%bantime)-1)) ban)
    }
  }
}