All pastes #1755404 Raw Edit

Mine

public text v1 · immutable
#1755404 ·published 2010-01-18 00:40 UTC
rendered paste body
on *:START:{ .ial on }
on *:EXIT:{ .ial on }

alias blacklist { 
  if ($1 == list) {
    if ($ulist(*,blacklist,0) == 0) { echo -a *** Blacklist: Your blacklist is empty | return }
    else { var %i = 1 | var %i2 = $calc($ulist(*,blacklist,0) +1) | echo -a 4*** Blacklisted Hostmask(s) | while (%i < %i2) { echo -a 4Entry $chr(35) $+ %i $+ : $ulist(*,blacklist,%i) ( $+ $gettok($ulist(*,blacklist,%i).info,1,32) $+ ) ( $+ $gettok($ulist(*,blacklist,%i).info,2-999999,32) $+ ) | inc %i }
    }
    return
  }
  if ($1 == del) { 
    if (($2 == $null) || (* $+ $chr(33) $+ * !iswm $2)) { echo -a *** Blacklist Syntax: /blacklist <add/del> <hostmask> | return }
    if ($ulist($2,0) == 0) { echo -a *** Blacklist Error: $2 is NOT blacklisted. | return }
    else { echo -a *** Blacklist: Removed $2 from blacklist on $gettok($ulist($2,1).info,1,32) ( $+ $gettok($ulist($2,1).info,2-999999,32) $+ ) | .ruser blacklist $2 | return }
  }
  if (($1 == $null) || ($1 != add) && ($1 != del)) { echo -a *** Blacklist Syntax: /blacklist <add/del> <#channel/all> <hostmask> <reason> | return }
  if (($2 == $null) || ($2 != all) && ($chr(35) != $left($2,1))) { echo -a *** Blacklist Syntax: /blacklist <add/del> <#channel/all> <hostmask> <reason> | return }
  if (($3 == $null) || (* $+ $chr(33) $+ * !iswm $3)) { echo -a *** Blacklist Syntax: /blacklist <add/del> <#channel/all> <hostmask> <reason> | return }
  if ($1 == add) { 
    if ($ulist($3,0) != 0) { echo -a *** Blacklist Error: $3 is already blacklisted. | return }
    else { .auser blacklist $3 $2 $iif($4 == $null, no reason specified, $4-) | echo -a *** Blacklist: Added $3 to blacklist on $2 ( $+ $iif($4 == $null, no reason specified, $4-) $+ ) | sab $3 $iif($4 == $null, no reason specified, $4-) | return }
  }
}

on blacklist:JOIN:#:{
  if (($ulist($address($NICK,5),blacklist,1) != $null) && ($istok($gettok($ulist($ulist($address($NICK,5),blacklist,1),1).info,1,32),$chan,44) == $true) || ($gettok($ulist($ulist($address($NICK,5),blacklist,1),1).info,1,32) == ALL)) { mode $chan -o+b $NICK $ADDRESS($NICK,2) | kick $chan $nick $gettok($ulist($ulist($address($NICK,5),blacklist,1),1).info,2-999999,32) | return } 
}

on *:JOIN:#:{ if ($NICK == $ME) { .who $chan } }

alias sab {
  var %sab.host = $1
  var %sab.reason = $2-
  var %sab.chan = $chan(0)
  while (%sab.chan) {
    var %sab.nick = $nick($chan(%sab.chan),0)
    while (%sab.nick) {
      if ((* $+ %sab.host $+ * iswm * $+ $address($nick($chan(%sab.chan),%sab.nick),5) $+ *) && ($istok($gettok($ulist($ulist($address($nick($chan(%sab.chan),%sab.nick),5),blacklist,1),1).info,1,32),$chan(%sab.chan),44) == $true) || ($gettok($ulist($ulist($address($nick($chan(%sab.chan),%sab.nick),5),blacklist,1),1).info,1,32) == ALL)) { mode $chan(%sab.chan) -o+b $nick($chan(%sab.chan),%sab.nick) $address($nick($chan(%sab.chan),%sab.nick),2) | kick $chan(%sab.chan) $nick($chan(%sab.chan),%sab.nick) %sab.reason }
      dec %sab.nick
    }
    dec %sab.chan
  }
}