dialog -l blist { title "Blacklist Manager" size -1 -1 324 144 option dbu check "&Enable Blacklist", 1, 8 8 52 10 list 2, 8 24 161 109, size extsel box "Blacklist Info", 3, 176 8 141 113 text "Banmask:", 4, 184 20 25 8 edit "", 5, 184 31 125 10, autohs text "Reason for Blacklist:", 6, 184 48 50 8 edit "", 7, 184 60 125 10, autohs text "Date Added/Modified:", 8, 184 76 55 8 edit "", 9, 184 88 125 10, read button "&New", 10, 184 104 37 12 button "&Save", 11, 228 104 37 12 button "&Delete", 12, 272 104 37 12 check "Chec&k on Close", 13, 188 128 50 10 button "&Close", 14, 244 128 37 12, ok } } on *:DIALOG:blist:sclick:2: { did -e blist 10,12 if ($did(blist,2,0).sel == 1) { did -e blist 5,7,9 did -b blist 11 set %blist.num $did(blist,2,1).sel did -ra blist 5 $ulist(*,blist,%blist.num) did -ra blist 7 $gettok($ulist(*,blist,%blist.num).info,6-,32) did -ra blist 9 $gettok($ulist(*,blist,%blist.num).info,1-5,32) } if ($did(blist,2,0).sel > 1) { did -rb blist 5,7,9 } } on *:DIALOG:blist:edit:5,7: { did -ra blist 9 $asctime if ($did(blist,5).text == $null) || ($did(blist,7).text == $null) || (*!*@* !iswm $did(blist,5).text) || (*!*@* == $did(blist,5).text) did -b blist 11 if ($did(blist,5).text != $null) && ($did(blist,7).text != $null) && (*!*@* iswm $did(blist,5).text) && (*!*@* != $did(blist,5).text) did -e blist 11 } on *:DIALOG:blist:sclick:10: { unset %blist.num did -re blist 5,7,9 did -b blist 11,12 did -f blist 5 } on *:DIALOG:blist:sclick:11: { if (%blist.num) .ruser blist $ulist(*,blist,%blist.num) .auser -a blist $gettok($did(blist,5).text,1,32) $asctime $did(blist,7).text did -r blist 2,5,7,9 did -b blist 5,7,9,11,12 did -c blist 13 var %c 1 while (%c <= $ulist(*,blist,0)) { did -a blist 2 $ulist(*,blist,%c) inc %c } did -f blist 14 } on *:DIALOG:blist:sclick:12: { if ($did(blist,2,0).sel == 1) { .ruser blist $did(blist,5).text did -f blist 2 } if ($did(blist,2,0).sel > 1) { var %b 1 while ($did(blist,2,%b).sel) { .ruser blist $did(blist,2,$did(blist,2,%b).sel).text inc %b } } did -r blist 2,5,7,9 did -b blist 5,7,9,11,12 var %c 1 while ($ulist(*,blist,%c)) { did -a blist 2 $ulist(*,blist,%c) inc %c } } on *:DIALOG:blist:close:0: { unset %blist.num if ($did(blist,1).state != 1) .disable #blist if ($did(blist,1).state == 1) .enable #blist if ($did(blist,13).state != 1) || ($group(#blist) != on) halt if ($did(blist,13).state == 1) && ($group(#blist) == on) blkick } alias f7 blist alias blist { unset %blist.num dialog -amo blist blist } alias cf7 { if ($group(#blist)) { if ($group(#blist) == on) { .disable #blist echo -a Blacklist is now OFF. } else { .enable #blist echo -a Blacklist is now ON. } } else echo -a Group #blist does not exist or is damaged. Please re-install file. } #blist on alias blkick { var %a 1 while ($chan(%a)) { var %c 1 while ($ulist(*,blist,%c)) { var %b 1 while ($ialchan($ulist(*,blist,%c),$chan(%a),%b).nick) { if ($v1 != $me) { mode $chan(%a) +b $ulist(*,blist,%c) kick $chan(%a) $v1 Blacklisted - $gettok($ulist(*,blist,%c).info,6-,32) } inc %b } inc %c } inc %a } } on blist:JOIN:#: { if ($ulist($fulladdress,blist)) { mode $chan +b $ulist($fulladdress,blist,1) kick $chan $nick Blacklisted - $gettok($ulist($fulladdress,blist,1).info,6-,32) } } on *:NICK: { if ($newnick != $me) && ($ulist($ial($newnick,1),blist)) { var %a 1 while ($comchan($newnick,%a)) { mode $comchan($newnick,%a) +b $ulist($ial($newnick,1),blist,1) kick $comchan($newnick,%a) $newnick Blacklisted - $gettok($ulist($ial($newnick,1),blist,1).info,6-,32) inc %a } } } #blist end