All pastes #737852 Raw Edit

Untitled

public text v1 · immutable
·published 2007-10-15 19:47 UTC
rendered paste body
menu * {
  Gudhak Blacklist by Xklark:/blist
}
dialog blist {
  title "Gudhak Blacklist v0.2 BETA - by Xklark"
  size -1 -1 285 142
  option dbu
  list 1, 181 4 102 114, size
  button "Delete", 2, 183 122 61 12
  button "Clear All", 3, 246 122 37 12
  edit "", 4, 35 14 139 11
  box "Add to Blacklist", 5, 8 3 170 50
  text "Host:", 6, 11 15 22 9, right
  edit "", 7, 35 26 139 11
  text "Reason:", 8, 11 27 22 8, right
  button "Add", 9, 35 38 137 12
  box "Global Ban", 10, 8 55 171 43
  edit "", 12, 34 66 141 11
  text "Host:", 11, 11 67 22 9, right
  button "Ban in all channels", 13, 35 79 138 12
  text "Kick Counter:", 14, 3 133 35 10
  edit "", 15, 35 132 29 10, disable
}

alias blist {
  /dialog -m blist blist
}
on *:dialog:blist:init:0: {
  set %b 1
  while (%b <= $ini(blist.ini,Blacklist,0)) {
    did -a $dname 1 $ini(blist.ini,Blacklist,%b)
    inc %b 1
  }
  unset %b
  did -a $dname 15 %kick.count
}
on *:dialog:blist:sclick:9: {
  if ($did($dname,4) == $null) {
    echo 4 $active [Blacklist] Please enter a host!
    halt
  }
  else {
    ;writeini -n blist.ini Hosts $calc($ini(blist.ini,Hosts,0)+1) $did($dname,4)
    writeini -n blist.ini Blacklist $did($dname,4) $iif($did($dname,7) == $null,No Reason,$did($dname,7))
    did -a $dname 1 $did($dname,4)
    did -r $dname 7
    did -r $dname 4
  }
}
on *:dialog:blist:sclick:2: {
  if ($did($dname,1).seltext == $null) {
    echo 4 $active [Blacklist] Please select a blacklist entry to remove!
    halt
  }
  else {
    ;remini blist.ini Hosts $did($dname,1).sel
    remini blist.ini Blacklist $did($dname,1).seltext
    did -d $dname 1 $did($dname,1).sel
  }
}
on *:dialog:blist:sclick:3: {
  if ($input(Are you sure you want to clear the blacklist?,y,Confirm) == $true) {
    set %c 1
    while (%c <= $did($dname,1).lines) {
      remini blist.ini Blacklist $did($dname,1,%c)
      inc %c
    }
    did -r $dname 1 %c
  }
  else {
    halt
  }
}
alias blistcheck {
  if ($readini(blist.ini,Blacklist,$address($1,1)) != $null) || ($readini(blist.ini,Blacklist,$address($1,2)) != $null) || ($readini(blist.ini,Blacklist,$address($1,3)) != $null) {
    return $true
  }
  else {
    return $null
  }
}
on *:join:#: {
  if ($blistcheck($nick) == $true) {
    if ($readini(blist.ini,Blacklist,$address($nick,1)) != $null) {
      echo 4 -a [Blacklist] User: $nick joined and banned for reason: $readini(blist.ini,Blacklist,$address($nick,1))
      /mode $chan +b $address($nick,1)
      /kick $chan $nick [Blacklisted] $readini(blist.ini,Blacklist,$address($nick,1)) • %kick.count •

    }
    elseif ($readini(blist.ini,Blacklist,$address($nick,2)) != $null) {
      echo 4 -a [Blacklist] User: $nick joined and banned for reason: $readini(blist.ini,Blacklist,$address($nick,2))
      /mode $chan +b $address($nick,2)
      /kick $chan $nick [Blacklisted] $readini(blist.ini,Blacklist,$address($nick,2)) • %kick.count •
    }
    elseif ($readini(blist.ini,Blacklist,$address($nick,3)) != $null) {
      echo 4 -a [Blacklist] User: $nick joined and banned for reason: $readini(blist.ini,Blacklist,$address($nick,3))
      /mode $chan +b $address($nick,3)
      /kick $chan $nick [Blacklisted] $readini(blist.ini,Blacklist,$address($nick,3)) • %kick.count •   
    }
  }
}
on *:dialog:blist:sclick:13: {
  if ($did($dname,12) == $null) {
    echo 4 -a [Blacklist] Please enter a host!
    halt
  }
  else {
    set %g 1
    while (%g <= $chan(0)) {
      if ($me isop $chan(%g)) || ($me ishop $chan(%g)) {
        mode $chan(%g) +b $did($dname,12)
      }
      inc %g 1
    }
    unset %g
    /did -r blist 12
  }
}
on *:kick:#: {
  if ($nick == $me) {
    inc %kick.count 1
  }
}