; ======================
; = Blacklist script by Pass
; ---------------------------------
; Not sure :o 
; ---------------------------------
; = Do not edit below this line
; ======================

on *:start: _start
on *:exit: _save
on *:disconnect: _save

alias -l _start {
  if (!$hget(blacklist)) {
    hmake blacklist
    if ($isfile(blacklist.hsh)) hload blacklist blacklist.hsh
    else _prestart 
  }
}
alias -l _prestart {
  if ($hget(blacklist)) {
    var %c = hadd blacklist
    %c settings.exitban $true
  }
}
alias -l _save {
  if ($hget(blacklist)) {
    hsave -o blacklist blacklist.hsh
    hfree blacklist
  }
}
alias _match {
  if ($hget(blacklist)) {
    if ($hget(blacklist,$1)) return $hget(blacklist,$1).item
    elseif ($hfind(blacklist,$1,1,w)) return $v1
  }
  else _start
}
alias _find {
  if ($hget(blacklist)) {
    if ($_match($$2)) {
      var %data = $hget(blacklist,$v1)
      if ($1 === -c) && ($wildtok(%data,chans=*,1,32)) return $v2
      if ($1 === -r) && ($wildtok(%data,reason=*,1,32)) return $v2
      if ($1 === -n) && ($wildtok(%data,network=*,1,32)) return $v2
    }
    else return * /_find syntax: /_find -crn <addy>
  }
  else _start
}
alias _add {
  if ($hget(blacklist)) {
    if (!$_match($1)) {
      /*
      if ($wildtok($2-,reason=*,1,32)) var %reason = $v1
      else var %reason = Blacklisted
      if ($wildtok($2-,chans=*,1,32)) var %chans = $v1
      else var %chans = #
      if ($wildtok($2-,network=*,1,32)) var %network = $v1
      hadd blacklist $1 %reason %chans %network
      */
    }
  }
}
