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