Menu * { Oliver's Ultimate 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 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, 26 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 } 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:*:{ /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 } } on *:dialog:blacklist:sclick:13:{ 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:{ /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:{ /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:{ /write $+(-ds,$chr(13),$chr(10)) %nick_blacklist /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:{ /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 } }