All pastes #360265 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-02-17 11:05 UTC
rendered paste body
Menu * {
  Blacklist
  .Dialog window:/dialog -md blacklist blacklist
  .Nick
  ..Nick and address
  ..Nick
  ..Address
  .Channel
  ..All users on chan
  ..Just channel
}

dialog blacklist {
  title "Oliver's Ultimate Blacklist"
  size -1 -1 260 193
  option dbu
  tab "Nick", 1, 0 -1 254 175
  box "Blacklist new nick", 4, 8 21 91 89, tab 1
  edit "", 5, 15 36 50 10, tab 1 autohs
  check "Blacklist address", 7, 16 54 50 10, tab 1
  check "Blacklist nick", 8, 16 66 50 10, tab 1
  button "Ban nick!", 10, 15 93 37 12, tab 1
  box "Blacklist", 12, 117 25 125 132, tab 1
  list 11, 122 33 114 119, tab 1 size vsbar
  box "Unblacklist nick", 19, 8 114 90 50, tab 1
  edit "", 28, 15 128 50 10, tab 1 auths
  button "Unblacklist nick", 29, 16 143 41 12, tab 1
  tab "Channel", 2
  edit "", 15, 15 36 50 10, tab 2 autohs
  text "Channel", 16, 68 37 23 8, tab 2
  check "Blacklist all users on channel", 17, 16 54 80 10, tab 2
  button "Blacklist channel!", 20, 16 79 50 12, tab 2
  box "Blacklist new channel", 21, 8 21 91 89, tab 2
  box "Blacklist", 22, 117 25 125 132, tab 2
  list 23, 122 33 114 119, tab 2 size vsbar
  box "Unblacklist channel", 24, 8 114 90 50, tab 2
  edit "", 25, 15 128 50 10, tab 2
  button "Unblacklist channel", 27, 16 143 51 12, tab 2
  tab "Blacklist Setup", 3
  box "Storage info (optional)", 30, 9 19 110 46, tab 3
  text "Channel filename.txt", 31, 67 36 51 8, tab 3
  box "External Use", 36, 133 24 82 47, tab 3
  check "Allow external use", 37, 138 34 57 10, tab 3
  check "Nick blacklist", 38, 145 45 50 10, group tab 3
  edit "", 6, 14 35 50 10, tab 3
  edit "", 26, 14 49 50 10, tab 3
  text "Nick filename.txt", 32, 67 50 51 8, tab 3
  check "Channel blacklist", 33, 145 56 50 10, group tab 3
  box "Channel Kick Blacklist", 34, 21 80 89 70, tab 3
  check "Turn on kick blacklist", 35, 26 92 77 10, tab 3
  edit "", 39, 29 105 18 10, tab 3
  text "Number of kicks ", 40, 50 106 41 8, tab 3
  button "OK", 13, 170 178 37 12, ok cancel
  button "Cancel", 14, 213 178 37 12, cancel
  edit "", 9, 3 179 142 10
  text "status", 18, 148 180 17 8
}

on *:dialog:blacklist:sclick:33,38:{
  if ($did($dname,33).state == 1) && ($did($dname,38).state == 1) {
    /did -ar blacklist 9 externaluse activated for nick and channel blacklisting
  }
  elseif ($did($dname,33).state != 1) && ($did($dname,38).state == 1) {
    /did -ar blacklist 9 externaluse deactivated for channel blacklisting
  }
  elseif ($did($dname,33.state == 1) && ($did)$dname,38.state != 1) {
    /did -ar blacklist 9 externaluse deactivated for nick blacklisting
  }
}




on *:dialog:blacklist:init:*:{
  /did -m blacklist 9
  /did -ar blacklist 6 %chan_blacklist
  /did -ar blacklist 26 %nick_blacklist
  if ($readini(blacklist.ini,extuse,on) == true) {
    /did -c blacklist 37
    /did -e blacklist 38
    /did -e blacklist 33
  }
  if ($readini(blacklist.ini,extuse,nick) == true) {
    /did -c blacklist 38
  }
  if ($readini(blacklist.ini,extuse,nick) == true) && ($readini(blacklist.ini,extuse,chan) != true) {
    /did -ar blacklist 9 externaluse active for nick blacklisting
  }
  elseif ($readini(blacklist.ini,extuse,nick) == true) && ($readini(blacklist.ini,extuse,chan) == true) {
    /did -ar blacklist 9 externaluse active for nick and chan blacklisting
  }
  elseif ($readini(blacklist.ini,extuse,nick) != true) && ($readini(blacklist.ini,extuse,chan) == true) {
    /did -ar blacklist 9 externaluse active for channel blacklisting
  }
  if ($readini(blacklist.ini,extuse,chan) == true) {
    /did -c blacklist 33
  }
  loadbuf -o blacklist 11 %nick_blacklist
  loadbuf -o blacklist 23 %chan_blacklist
}

on *:dialog:blacklist:sclick:37:{
  if ($did($dname,37).state == 1) {
    /did -ar blacklist 9 Externaluse activated
    /did -e blacklist 33 
    /did -e blacklist 38
  }
  elseif ($did($dname,37).state == 0) {
    /did -bu blacklist 38
    /did -bu blacklist 33
  }
}

on *:dialog:blacklist:sclick:13:{

  if ($did($dname,6).edited == $true) && (*.txt* iswm $did($dname,6)) {
    set %chan_blacklist $did($dname,6)
  }
  else { set %chan_blacklist chan_blacklist.txt
  }

  if ($did($dname,26).edited == $true) && (*.txt* iswm $did($dname,26)) {
    set %nick_blacklist $did($dname,26)
  }
  else { set %nick_blacklist nick_blacklist.txt }

  if ($did($dname,37).state == 1) {
    /writeini blacklist.ini extuse on true
  }

  if ($did($dname,37).state == 0) {
    /writeini blacklist.ini extuse on false
  }

  if ($did($dname,33).state == 1) {
    /writeini blacklist.ini extuse chan true
  }


  if ($did($dname,33).state == 0) {
    /writeini blacklist.ini extuse chan false
  }

  if ($did($dname,38).state == 1) {
    /writeini blacklist.ini extuse nick true
  }

  if ($did($dname,38).state == 0) {
    /writeini blacklist.ini extuse nick false
  }
}




on *:dialog:blacklist:sclick:11:{
  did -ar $dname 28 $did(11).seltext 
}


on *:dialog:blacklist:sclick:10:{
  /did -ar blacklist 9 $did($dname,5) added to nick blacklist! 
  if ($did($dname,8).state == 1) {
    write %nick_blacklist $did($dname,5) 
  }
  if ($did($dname,7).state == 1) {
    write %nick_blacklist $address($did($dname,5),2)
  }
  loadbuf -or blacklist 11 %nick_blacklist
  /did -u blacklist 8
  /did -u blacklist 7
  /did -r blacklist 5
}

on *:dialog:blacklist:sclick:29:{ 
  /write $+(-dl,$read(%nick_blacklist, w, $+(*,$did(28),*))) %nick_blacklist
  /did -d $dname 11 $didwm(11,$+(*,$did(28),*))
  /did -ar blacklist 9 $did($dname,28) removed from nick blacklist!
  /did -r blacklist 28
}




on *:dialog:blacklist:sclick:23:{
  if ($did($dname,25).edited != $true) {
    did -a $dname 25 $did(23).seltext 
  }
}

on *:dialog:blacklist:sclick:20:{
  /did -ar blacklist 9 $did($dname,15) added to chan blacklist! 
  if ($did($dname,17).state == 1) {
    set %alluserschan $did($dname,15)
    /allusers 
  }
  write %chan_blacklist $did($dname,15)
  /did -u blacklist 17
  /did -r blacklist 15 
  loadbuf -or blacklist 23 %chan_blacklist
  loadbuf -or blacklist 11 %nick_blacklist
}

on *:dialog:blacklist:sclick:27:{ 
  /did -ar blacklist 9 $did($dname,25) removed from chan blacklist!
  /write -ds $+ $did($dname,25) %chan_blacklist
  /did -d $dname 23 $didwm(23,$did(25))
  /did -r blacklist 25
}

alias allusers {
  var %x = 1
  while $nick(%alluserschan,%x) {
    /write %nick_blacklist $nick(%alluserschan,%x)
    inc %x 1 
  } 
}