menu channel { Blacklist:/blist } alias blist { dialog -m blist blist } dialog Blist { title "Blacklist v1.1" size -1 -1 145 114 option dbu button "Ok", 2, 100 96 37 12, ok cancel box "Channels", 4, 3 1 88 110 text "Only blacklist in these channels:", 5, 7 10 80 8 combo 6, 7 19 76 60, size button "Add", 7, 7 80 37 12 button "Delete", 8, 48 80 37 12 box "On/Off", 9, 97 1 45 32 radio "Blacklist ON", 10, 99 9 41 10 check "Blacklist in ALL channels", 11, 8 96 70 10 radio "Blacklist OFF", 12, 99 19 41 10 box "Blacklist", 13, 97 33 45 78 button "Add", 14, 100 40 37 12 button "List", 15, 100 54 37 12 button "Clear", 16, 100 68 37 12 button "Help", 17, 100 82 37 12 } on *:dialog:Blist:init:0: { if ($readini(Blist.ini,n,settings,blacklist) == on) { did -c Blist 10 } else { did -c Blist 12 } if ($readini(Blist.ini,n,settings,allchan) == on) { did -c Blist 11 } var %s = 1 while ($read(Chanlist.txt,%s)) { did -a Blist 6 $read(Chanlist.txt,%s) inc %s } } on *:dialog:Blist:sclick:*: { if ($did == 17) { dialog -m BlistHelp BlistHelp } if ($did == 11) { if ($did(11).state) { writeini -n Blist.ini settings allchan on } else { writeini -n Blist.ini settings allchan off } } if ($did == 10) { if ($did(10).state) { writeini -n Blist.ini settings blacklist on } } if ($did == 12) { if ($did(12).state) { writeini -n Blist.ini settings blacklist off } } if ($did == 7) { if ($did(6)) { if (!$read(Chanlist.txt,w,$did(6))) && ($chr(35) == $left($did(6),1)) { write Chanlist.txt $did(6) did -r Blist 6 var %s = 1 while ($read(Chanlist.txt,%s)) { did -a Blist 6 $read(Chanlist.txt,%s) inc %s } } } } if ($did == 8) { if ($did(6)) { if ($read(Chanlist.txt,w,$did(6))) && ($chr(35) == $left($did(6),1)) { write -ds $+ $did(6) Chanlist.txt did -r Blist 6 var %s = 1 while ($read(Chanlist.txt,%s)) { did -a Blist 6 $read(Chanlist.txt,%s) inc %s } } } } if ($did == 14) { if (!$dialog(Blistadd)) dialog -m blistadd blistadd } if ($did == 15) { if (!$dialog(Blistlist)) dialog -m blistlist blistlist } if ($did == 16) { if (!$dialog(Blistclear)) dialog -m blistclear blistclear } } dialog Blistadd { title "Blacklist-Add" size -1 -1 134 160 option dbu text "Blacklist Add", 1, 10 5 32 8 text "Ban nick:", 2, 20 23 23 8 edit "", 3, 48 22 72 10, autohs autovs text "Ban Address:", 4, 10 34 33 8 edit "", 5, 48 33 72 10, autohs autovs text "Kick Message:", 7, 9 45 34 8 edit "", 8, 48 44 72 10, autohs autovs text "Notes:", 9, 26 56 17 8 edit "", 10, 48 55 72 41, multi autovs button "Add", 11, 45 142 37 12 button "Cancel", 12, 91 142 37 12, ok cancel box "Blacklist", 6, 6 14 121 127 box "Ban", 13, 49 99 50 38 radio "Nickname", 14, 52 107 38 10 radio "Address", 15, 52 116 44 10 radio "Both", 16, 52 125 41 10 text "This script only uses Mode 2 Banmask: *!*@host ", 17, 9 74 35 39 } on *:dialog:BlistAdd:init:0: { if (!%blist.update) { did -ra BlistAdd 3 Nickname did -ra BlistAdd 5 *!*@Host did -ra BlistAdd 8 Blacklisted did -ra BlistAdd 10 Notes did -c BlistAdd 15 } elseif (%blist.update) { did -ra BlistAdd 3 $iif($readini(Blist.ini,n,%blist.update,Nickname),$v1,No info) did -ra BlistAdd 5 $iif($readini(Blist.ini,n,%blist.update,Address),$v1,No info) did -ra BlistAdd 8 $iif($readini(Blist.ini,n,%blist.update,Kick),$v1,Blacklisted) did -ra BlistAdd 10 $iif($readini(Blist.ini,%blist.update,Notes),$v1,No info) if ($chr(64) isin %blist.update) { did -ra BlistAdd 5 %blist.update | did -c BlistAdd 15 } else { did -ra BlistAdd 3 %blist.update | did -c Blistadd 14 } unset %blist.update } } on *:dialog:BlistAdd:sclick:*: { if ($did == 11) { if ((!$did(3)) || ($did(3) == Nickname) || ($did(3) == No info)) && (($did(14).state) || ($did(16).state)) { halt } if ((!$did(5)) || ($did(5) == *!*@Host) || ($did(5) == No info)) && (($did(15).state) || ($did(16).state)) { halt } if ($did(14).state) { if (!$read(Banlist.txt,w,$did(3))) { write Banlist.txt $did(3) } writeini -n Blist.ini $did(3) Nickname $did(3) writeini -n Blist.ini $did(3) Kick $iif($did(8),$v1,Blacklisted) var %s = 1 while (%s <= $did(10).lines) { var %notes = %notes $did(10,%s) inc %s } writeini -n Blist.ini $did(3) Notes %notes dialog -c BlistAdd if ($dialog(blistlist)) { dialog -c blistlist dialog -m blistlist blistlist } } elseif ($did(15).state) { if (!$read(Banlist.txt,w,$mask(! $+ $did(5),2))) { write Banlist.txt $mask(! $+ $did(5),2) } writeini -n Blist.ini $did(5) Address $mask(! $+ $did(5),2) writeini -n Blist.ini $did(5) Kick $iif($did(8),$v1,Blacklisted) var %s = 1 while (%s <= $did(10).lines) { var %notes = %notes $did(10,%s) inc %s } writeini -n Blist.ini $did(5) Notes %notes dialog -c BlistAdd if ($dialog(blistlist)) { dialog -c blistlist dialog -m blistlist blistlist } } elseif ($did(16).state) { if (!$read(Banlist.txt,w,$did(3))) { write Banlist.txt $did(3) } if (!$read(Banlist.txt,w,$mask(! $+ $did(5),2))) { Write Banlist.txt $mask(! $+ $did(5),2) } writeini -n Blist.ini $did(3) Nickname $did(3) writeini -n Blist.ini $did(3) Address $mask(! $+ $did(5),2) writeini -n Blist.ini $did(3) Kick $iif($did(8),$v1,Blacklisted) var %s = 1 while (%s <= $did(10).lines) { var %notes = %notes $did(10,%s) inc %s } writeini -n Blist.ini $did(3) Notes %notes if (!$read(Banlist.txt,w,$mask(! $+ $did(5),2))) { write Banlist.txt $mask(! $+ $did(5),2) } writeini -n Blist.ini $mask(! $+ $did(5),2) Nickname $did(3) writeini -n Blist.ini $mask(! $+ $did(5),2) Address $mask(! $+ $did(5),2) writeini -n Blist.ini $mask(! $+ $did(5),2) Kick $iif($did(8),$v1,Blacklisted) var %s = 1 while (%s <= $did(10).lines) { var %notes = %notes $did(10,%s) inc %s } writeini -n Blist.ini $did(5) Notes %notes dialog -c BlistAdd if ($dialog(blistlist)) { dialog -c blistlist dialog -m blistlist blistlist } } } } dialog BlistList { title "Blacklist - List" size -1 -1 155 115 option dbu text "Blacklist", 1, 7 3 25 8 list 2, 12 20 130 72, size button "Edit/Info", 3, 7 100 37 12 button "Cancel", 4, 111 100 37 12, ok cancel button "Delete", 5, 48 100 37 12 box "Blacklist - List", 6, 7 12 141 87 } on *:dialog:BlistList:init:0: { var %s = 1 while ($read(Banlist.txt,%s)) { did -a BlistList 2 $read(Banlist.txt,%s) inc %s } } on *:dialog:BlistList:sclick:*: { if ($did == 3) { set %blist.update $did(2).seltext dialog -m blistadd blistadd } if ($did == 5) { if ($did(2).seltext) { write -ds $+ $did(2).seltext Banlist.txt remini Blist.ini $did(2).seltext did -r BlistList 2 var %s = 1 while ($read(Banlist.txt,%s)) { did -a BlistList 2 $read(Banlist.txt,%s) inc %s } } } } dialog BlistClear { title "Blacklist - Clear" size -1 -1 118 37 option dbu text "Are you sure you want to clear the blacklist?", 1, 5 6 111 8 button "Yes", 2, 6 21 37 12, cancel button "No", 3, 79 21 37 12, ok cancel } on *:dialog:BlistClear:sclick:2: { .remove Banlist.txt } dialog BlistHelp { title "Blacklist - Help" size -1 -1 238 107 option dbu list 1, 4 11 229 79, size hsbar text "Blacklist help:", 2, 4 2 34 8 button Ok, 3, 196 92 37 12, ok cancel } on *:dialog:BlistHelp:init:*: { did -ra BlistHelp 1 Displaying the Help File for Blacklist V1.1... sockopen Blist.Help jooldesigns.net 80 } on *:sockopen:blist.help: { sockwrite -nt $sockname GET /temp/archived/47/Blistv1.1.txt HTTP/1.1 sockwrite -nt $sockname Host: jooldesigns.net $+ $crlf $+ $crlf } on *:sockread:blist.help: { if ($sockerr) { did -ra BlistHelp 1 Error } else { var %Blist.Help sockread %Blist.Help did -z BlistHelp 1 if (%Blist.Read == 1) { did -a BlistHelp 1 %Blist.Help } if (::start:: == %Blist.Help) { set %Blist.Read 1 | halt } } } on *:sockclose:blist.help: { unset %Blist.Read } on *:join:#: { if ($readini(Blist.ini,n,settings,blacklist) == on) { if ($read(Chanlist.txt,w,$chan)) && (($me isop $chan) || ($me ishop $chan)) { blacklist.scan $chan var %e = 1 while (%e <= $nick($chan,0)) { if ($read(Banlist.txt,w,$address($nick($chan,%e),2))) { if ($nick($chan,%e) == $me) { inc %e | continue } mode $chan +b $address($nick,2) kick $chan $nick($chan,%e) $iif($readini(Blist.ini,n,$read(Banlist.txt,%e),Kick),$v1,Blacklisted) } inc %e continue } } } } alias blacklist.scan { var %f = 1 while ($read(Banlist.txt,%f)) { if ($read(Banlist.txt,%f) ison $1) { mode $1 +b $read(Banlist.txt,%f) kick $1 $read(Banlist.txt,%f) $iif($readini(Blist.ini,n,$read(Banlist.txt,%f),Kick),$v1,Blacklisted) } inc %f continue } } alias blacklist { if ($me isop $chan) || ($me ishop $chan) { ban -k $chan $1 2 Blacklisted 12ยค4 %kicks $+ 1 blist dialog -m blistadd blistadd did -ra BlistAdd 3 $1 did -ra BlistAdd 5 $address($1,2) did -u BlistAdd 15 did -c BlistAdd 16 } }