All pastes #461934 Raw Edit

Mine

public text v1 · immutable
#461934 ·published 2007-04-27 22:56 UTC
rendered paste body
on *:START: {
  hmake blacklist 10
  window -aeg1k0w3z @BlackList
  aline -ahp @BlackList $timestamp [2BlackList] Table made.
  hload blacklist blacklist.txt
  aline -ahp @BlackList $timestamp [2BlackList] File loaded.
}
on *:EXIT: {
  hsave blacklist blacklist.txt
}
alias +bl {
  if ($1) && ($2) {
    if ($address($1,2)) {
      hadd blacklist $address($1,2) $asctime(dddd doo mmmm yyyy  HH:nn:ss) $+ ; $+ $2-
      if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
      aline -ahp @BlackList $timestamp [2BlackList] Added $+(5,$1,) (5 $+ $address($1,2) $+ ) to blacklist, reason:5 $2- $+ 
    }
    else {
      hadd blacklist $1 $asctime(dddd doo mmmm yyyy  HH:nn:ss) $+ ; $+ $2-
      if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
      aline -ahp @BlackList $timestamp [2BlackList] Added $+(5,$1,) to blacklist, reason:5 $2- $+ 
    }
  }
  elseif ($1) {
    if ($address($1,2)) {
      hadd blacklist $address($1,2) $asctime(dddd doo mmmm yyyy  HH:nn:ss) $+ ;No reason specified.
      if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
      aline -ahp @BlackList $timestamp [2BlackList] Added $+(5,$1,) (5 $+ $address($1,2) $+ ) to blacklist, with no reason specified.
    }
    else {
      hadd blacklist $1 $asctime(dddd doo mmmm yyyy  HH:nn:ss) $+ ;No reason specified.
      if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
      aline -ahp @BlackList $timestamp [2BlackList] Added $+(5,$1,) to blacklist, with no reason specified.
    }
  }
  else {
    if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
    aline -ahp @BlackList $timestamp [2BlackList] Please use 5/+bl nick/hostmask reason
  }
}
alias -bl {
  if ($address($1,5)) {
    var %bltemp $hfind(blacklist,$address($1,5),1,W)
    hdel blacklist $hfind(blacklist,$address($1,5),1,W)
    if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
    aline -ahp @BlackList $timestamp [2BlackList] Deleted3 $1 (3 $+ %bltemp $+ ) from blacklist.
  }
  elseif ($1 isnum) {
    var %bltemp $hget(blacklist, $1).item
    hdel blacklist $hget(blacklist, $1).item
    if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
    aline -ahp @BlackList $timestamp [2BlackList] Deleted entry3 $1 (3 $+ %bltemp $+ ) from blacklist.
  }
  else {
    hdel blacklist $1
    if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
    aline -ahp @BlackList $timestamp [2BlackList] Deleted3 $1 from blacklist.
  }
}
alias bl {
  var %blline 1
  if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
  aline -ahp @BlackList [2BlackList]
  while (%blline <= $hget(blacklist, 0).item) {
    tokenize 59 $hget(blacklist, %blline).data
    aline -ahp @BlackList $+(05,%blline,.) Host:5 $hget(blacklist, %blline).item $+ , Added:5 $1 $+ , Reason:5 $2- $+ 
    inc %blline
  }
  aline -ahp @BlackList -
  aline -ahp @BlackList End of /bl
}
alias blhostget {
  inc -z %blscanning $calc($nick($1,0) / 4)
  var %blhostnick 1
  .timer 1 %blscanning blscan $1
  while (%blhostnick < $nick($1,0)) {
    userhost $nick($1,%blhostnick) $nick($1,$calc(%blhostnick + 1)) $nick($1,$calc(%blhostnick + 2)) $nick($1,$calc(%blhostnick + 3)) $nick($1,$calc(%blhostnick + 4))
    inc %blhostnick 5
  }
}
alias blscan {
  var %blnick $nick($1,0)
  while (%blnick) {
    blcheck $eval($nick($1,%blnick),2) $1
    dec %blnick 1
  }
}
alias blcheck {
  if ($eval($hfind(blacklist,$address($1,5),1,W),2)) {
    var %chan $2
    var %nick $1
    if (!$window(@BlackList)) { window -aeng1k0w3z @BlackList }
    tokenize 59 $hget(blacklist,$hfind(blacklist,$address($1,5),1,W))
    if ($me isop $chan) || ($me ishop $chan) { 
      aline -ahp @BlackList $timestamp [2BlackList]4 %nick (4 $+ $hfind(blacklist,$address(%nick,5),1,W) $+ ) is blacklisted, and has been banned from4 %chan $+ .
      inc %kicks
      ban -k %chan %nick 2 $+ $hget(blacklist,$hfind(blacklist,$address($1,5),1,W)) Blacklisted 
    }
    else {
      aline -ahp @BlackList $timestamp [2BlackList]4 %nick (4 $+ $hfind(blacklist,$address(%nick,5),1,W) $+ ) is blacklisted, you do not have op/hop in4 %chan and therefore cannot ban him/her.
    }
  }
}
on *:JOIN:#: {
  if ($nick == $me) {
    .timer 1 5 blhostget $chan
  }
  else {
    blcheck $nick $chan
  }
}
raw 302:*: {
  if (%blscanning) {
    haltdef
  }
}