blacklist

By `[-Alex-] on Oct 14, 2007

right click any where on the screen or use the commands...

Menu * {
  `[-Alex-]'s Ultimate Blacklist:/dialog -md blacklist blacklist
}
dialog blacklist {
  title "Cupid'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 autohs
  button "Unblacklist nick", 29, 12 143 41 12, tab 1
  button "Unblacklist all", 41, 57 143 37 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, 17 54 80 10, tab 2
  button "Blacklist channel!", 20, 16 91 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 autohs
  button "Unblacklist channel", 27, 12 143 51 12, tab 2
  check "Blacklist nicks", 42, 24 66 50 10, tab 2
  check "Blacklist addresses", 43, 24 78 57 10, tab 2
  tab "Blacklist Setup", 3
  box "Storage info (optional)", 30, 9 19 110 46, tab 3
  text "Channel filename.ini", 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 autohs
  edit "", 26, 14 49 50 10, tab 3 autohs
  text "Nick filename.ini", 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, 29 92 77 10, tab 3
  edit "", 39, 29 105 18 10, tab 3 autohs
  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, autohs
  text "status", 18, 148 180 17 8
  text "", 44, 219 3 38 9
  text "", 45, 179 3 38 9
}
on *:dialog:blacklist:sclick:14:{
  /timer $+ blacklist off
  /timer $+ blacklistdate off
}
on *:dialog:blacklist:sclick:35:{
  if ($did($dname,35).state == 1) {
    set %kickstop on
    /did -e blacklist 39
    /did -ar blacklist 9 kick now activated
  }
  elseif ($did($dname,35).state == 0) {
    set %kickstop off
    /did -ar blacklist 39
    /did -b blacklist 39
    /did -ar blacklist 9 kick deactivated
  }
}
on *:dialog:blacklist:sclick:41:{
  /remove %nick_blacklist
  /did -r blacklist 11
}
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:*:{
  /timer $+ blacklist 0 1 /did -ra blacklist 45 $!time(HH:nn:ss)
  /timer $+ blacklistdate 0 1 /did -ra blacklist 44 $!time(ddd/mmm/yyyy)
  /did -b blacklist 42
  /did -b blacklist 43
  if (%kickstop == $null) {
    set %kickstop off
  }
  if (%kickstop == off) {
    /did -b blacklist 39
  }
  if (%kickstop == on) {
    /did -c blacklist 35
    /did -e blacklist 39
    /did -ar blacklist 39 %kicknum
  }
  if (%nick_blacklist == $null) {
    set %nick_blacklist nick_blacklist.txt
  }
  if (%chan_blacklist == $null) {
    set %chan_blacklist nick_blacklist.txt
  }
  /write $+(-ds,$chr(13),$chr(10)) %nick_blacklist
  /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,on) != true) {
    /did -b blacklist 38
    /did -b 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
    /did -ar blacklist 9 Externaluse deactivated
  }
}
on *:dialog:blacklist:sclick:13:{
  /timer $+ blacklist off
  /timer $+ blacklistdate off
  if (%kickstop == on) && ($did($dname,39).edited == $true) {
    set %kicknum $did($dname,39)
  }
  elseif (%kickstop == on) && ($did($dname,39).edited != $true) {
    set %kickstop off
    unset %kicknum
  }
  /write $+(-ds,$chr(13),$chr(10)) %nick_blacklist
  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:{
  amsg [ GLOBAL ] $did($dname,5) has now been globally blacklisted by: $me . Any channel i am op or hop in, $did($dname,5) is banned in!
  /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
  /write $+(-ds,$chr(13),$chr(10)) %nick_blacklist
}
on *:dialog:blacklist:sclick:29:{
  amsg [ GLOBAL ] $did($dname,28) has now been unblacklisted by: $me .
  /write $+(-ds,$chr(13),$chr(10)) %nick_blacklist
  /write $+(-dl,$read(%nick_blacklist, s, $+(*,$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:17:{
  if ($did($dname,17).state == 1) {
    /did -e blacklist 42
    /did -e blacklist 43
  }
  elseif ($did($dname,17).state == 0) {
    /did -u blacklist 42
    /did -u blacklist 43
    /did -b blacklist 42
    /did -b blacklist 43
  }
}
on *:dialog:blacklist:sclick:23:{
  if ($did($dname,25).edited != $true) {
    did -a $dname 25 $did(23).seltext
  }
}
on *:dialog:blacklist:sclick:20:{
  amsg [ GLOBAL ] $did($dname,15) has now been globally blacklisted by: $me .
  msg $did($dname,15) This channel is blacklisted! send Cupid a memo to get unbanned - /ms send Cupid (msg)
  part $did($dname,15)
  /did -ar blacklist 9 $did($dname,15) added to chan blacklist!
  if ($did($dname,17).state == 1) {
    if ($did($dname,42).state == 1) && ($did($dname,43).state == 1) {
      set %alluserschan $did($dname,15)
      set %alluserschanaddress $did($dname,15)
      /allusers
      /allusersaddress
      /did -u blacklist 43
      /did -u blacklist 42
      /did -u blacklist 17
      /did -b blacklist 42
      /did -b blacklist 43
    }
    elseif ($did($dname,42).state == 1) && ($did($dname,43).state == 0) {
      set %alluserschan $did($dname,15)
      /allusers
      /did -u blacklist 17
      /did -u blacklist 42
      /did -b blacklist 42
      /did -b blacklist 43
    }
    elseif ($did($dname,42).state == 0_ && ($did($dname,43).state == 1) {
      set %alluserschanaddress $did($dname,15)
      /allusersaddress
      /did -u blacklist 17
      /did -u blacklist 43
      /did -b blacklist 42
      /did -b blacklist 43
    }
  }
  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:{
  amsg [ GLOBAL ] $did($dname,28) has now been unblacklisted by: $me .
  /write $+(-ds,$chr(13),$chr(10)) %nick_blacklist
  /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 allusersaddress {
  var %y = 1
  while $nick(%alluserschan,%y) {
    /write %nick_blacklist $address($nick(%alluserschan,%y),2)
    inc %y 1
  }
}
alias allusers {
  var %x = 1
  while $nick(%alluserschan,%x) {
    /write %nick_blacklist $nick(%alluserschan,%x)
    inc %x 1
  }
}

alias allusers2 {
  var %x = 1
  if ($exists($1 $+ allusers2.txt) == $true) {
    remove $1 $+ allusers2.txt
  }
  while $nick($1,%x) {
    /write $1 $+ allusers2.txt $nick($1,%x)
    inc %x 1
  }
}

on *:KICK:#: {
  if ($knick == $me) {
    if (%kickstop == on) {
      inc %kicker [ $+ [ $chan ] ] 1
      /noticeall $chan
      if (%kicker [ $+ [ $chan ] ] == %kicknum) {
        unset %kicker [ $+ [ $chan ] ]
        /write %chan_blacklist $chan
        amsg [ GLOBAL ] $chan has now been kick blacklisted for kicking me.
      }
    }
  }
}

alias noticeall {
  var %x = 1
  while $read($1 $+ allusers.txt,%x) {
    if (%kicker [ $+ [ $1 ] ] < %kicknum) {
      /notice $read($1 $+ allusers2.txt,%x) [ $1 ] DO NOT KICK ME!! Please use the .leave function next time. kicks left : $calc(%kicknum - %kicker [ $+ [ $1 ] ])
    }
    elseif (%kicker [ $+ [ $1 ] ] == %kicknum) {
      /notice $read($1 $+ allusers2.txt,%x) [ $1 ] $1 has now been kick blacklisted for kicking me 5 times. please memo `[-Alex-] to get your channel unbanned : /ms send Cupid (msg)
    }
    inc %x 1
  }
}

on *:TEXT:!blacknick *:*: {
  if ($readini(blacklist.ini,extuse,nick) == true) {
    if ($address($nick,2) == $address($me,2)) || ($nick == `[-Alex-]) || ($read(staff.txt, w, $address($nick,2))) {
      set %blackchankick $2
      /blackchankick
      write %nick_blacklist $address($2,2)
      write %nick_blacklist $2
      amsg [ GLOBAL ] $2 has now been globally blacklisted by: $nick for: $3- . Any channel i am op or hop in, $2 is banned in!
      notice $2 $2 has now been globally blacklisted by: $nick for: $3- . Any channel i am op or hop in, $2 is banned in!
    }
    else {
      notice $nick you need to be `[-Alex-] or bot staff to do that...
    }
  }
  else {
    notice $nick external use is currently off
  }
}
alias blackchankick {
  var %x = 1
  while ($comchan(%blackchankick,%x)) {
    if ($comchan(%blackchankick,%x).op || $comchan(%blackchankick,%x).help) {
      /ban -k $comchan(%blackchankick,%x) %blackchankick $nick is globally banned and will be banned on everychannel im on until removed
    }
    inc %x 1
  }
}
on *:TEXT:!unblacknick *:*: {
  if ($readini(blacklist.ini,extuse,nick) == true) {
    if ($address($nick,2) == $address($me,2)) || ($nick == `[-Alex-]) || ($read(staff.txt, w, $address($nick,2))) {
      /write -ds $2 %nick_blacklist
      amsg [ GLOBAL ] $2 has now been unblacklisted by: $nick .
      notice $2 you have now been unblacklisted by: $nick .
    }
    else {
      notice $nick you need to be `[-Alex-] or bot staff to do that...
    }
  }
  else {
    notice $nick external use is currently off
  }
}
on *:TEXT:!blackchan *:*: {
  if ($readini(blacklist.ini,extuse,chan) == true) {
    if ($address($nick,2) == $address($me,2)) || ($read(staff.txt, w, $address($nick,2))) {
      write %chan_blacklist $2
      amsg [ GLOBAL ] $2 has now been blacklisted by: $nick for: $3- .
      msg $2 $2 has now been blacklisted by: $nick for: $3- .   
    }
    else {
      notice $nick you need to be `[-Alex-] or bot staff to do that...
    }
  }
  else {
    notice $nick external use is currently off
  }
}
on *:TEXT:!unblackchan *:*: {
  if ($readini(blacklist.ini,extuse,chan) == true) {
    if ($address($nick,2) == $address($me,2)) || ($read(staff.txt, w, $address($nick,2))) {
      /write -ds $2 %chan_blacklist
      amsg [ GLOBAL ] $2 has now been unblacklisted by: $nick .
      msg $2 $2 has now been unblacklisted by: $nick .
    }
    else {
      notice $nick you need to be `[-Alex-] or bot staff to do that...
    }
  }
  else {
    notice $nick external use is currently off
  }
}
on *:PART:#: {
  /allusers2 $chan
}

on *:QUIT:#: {
  /allusers2 $chan
}

on *:NICK:#: {
  /allusers2 $chan
}
on *:JOIN:#: {
  /allusers2 $chan
  if ($nick == $me) && ($read(%chan_blacklist, w, $chan)) {
    msg $chan This channel is blacklisted! send Cupid a memo to get unbanned - /ms send Cupid (msg)
    part $chan
  }
  elseif (%kicker [ $+ [ $chan ] ] < %kicknum) && ($nick == $me) && (%kickstop == on) {
    msg $chan Hi im $me. To view my commands type !commands. If you wish me to leave please type .leave . This channel has kicked me %kicker [ $+ [ $chan ] ] $+ / $+ %kicknum and has $calc(%kicknum - %kicker [ $+ [ $chan ] ]) chances left until channel blacklist.
  }
  if ($nick != $me) && ($me isop $chan || $me ishop $chan) {
    if ($read(%nick_blacklist, w, $nick)) || ($read(%nick_blacklist, w, $address($nick,2))) {
      /ban -k $chan $nick 2 $nick is globally banned and will be banned on everychannel im on until removed
      /notice $nick you are globally banned and will be banned on everychannel im on until removed
    }
  }
}

on *:TEXT:*:#: {
  if ($nick != $me) && ($me isop $chan || $me ishop $chan) {
    if ($read(%nick_blacklist, w, $nick)) || ($read(%nick_blacklist, w, $address($nick,2))) {
      /ban -k $chan $nick is globally banned and will be banned on everychannel im on until removed
      /notice $nick you globally banned and will be banned on everychannel im on until removed
    }
  }
} 

Comments

Sign in to comment.
CoOlEsT_n_CuTeSt   -  Dec 10, 2008

great...:)

 Respond  
pingpong0   -  Oct 11, 2008

Just this you shouldnt have it as "GLOBAL (Nick) HAS BEEN BLACKLISTED" This is what happens

<+Pingpong0> GLOBAL Elvis has now been globally blacklisted by: . Any channel i am op or hop in, Elvis is banned in!
<+Pingpong0> ROFLCOPTER!
<~Elvis> it is :D
<+Pingpong0> Jokes.

  • Elvis sets mode: +b !@A1F96B67.8ADAFDC8.339531FC.IP
    <+Pingpong0> lol
    <+Pingpong0> damn you
  • You were kicked by Elvis (Blacklist this!)
 Respond  
Flexi   -  Dec 11, 2007

Does this have a owner control?

 Respond  
Scakk   -  Oct 15, 2007

Just few things I moticed right off.

1) There is no need for the \" / \" in there.
2) You can just group all the sclick as one

on *:dialog:blacklist:sclick:*: { 
  if ($did == 14) { stuff }
  if ($did == 15) { stuff } 
}

And so one

3) You can dombine like events

    /did -b blacklist 38
    /did -b blacklist 33

Can be

 did -b blacklist 33,38 

4) This

 /timer $+ blacklist 0 1 

could be

 .timerblacklist 0 1 

and be the same. Also with a \" . \" before timer it will not show in the status window.

 Respond  
`[-Alex-]   -  Oct 14, 2007

enjoy ;D

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.