rendered paste bodyalias blist {
dialog -m blacklist blacklist
}
dialog blacklist {
title "Blacklist [/blist]"
size -1 -1 130 90
option dbu
list 1, 1 1 128 73, size
button "Ok", 3, 92 76 37 12, ok
menu "File", 4
item "Ok", 6, 4
item "Close", 7, 4
menu "Edit Blacklist", 5
item "Add Entry", 8, 5
item break, 9, 5
item "Edit Entry", 10, 5
item break, 11, 5
item "Remove Entry", 12, 5
item "Clear List", 13, 5
}
on *:dialog:blacklist:init:0: {
/blist.reload
}
on *:dialog:blacklist:menu:8: {
/blist.add $$?="Enter the address you wish to blacklist"
}
on *:dialog:blacklist:menu:10: {
/blist.edit $$?="Enter the address you wish to remove"
}
on *:dialog:blacklist:menu:12: {
/blist.del
}
on *:dialog:blacklist:menu:13: {
/blist.clear
}
alias blist.reload {
var %x = 1
while (%x <= $lines(txt\blist.txt)) {
/did -a blacklist 1 $read(txt\blist.txt,%x)
inc %x
}
}
alias blist.add {
/did -ae blacklist 1 $$1-
/write txt\blist.txt $$1-
}
alias blist.edit {
/did -oc blacklist 1 $did(blacklist,1).sel $$1-
/write -l $+ $did(blacklist,1).sel $$1- txt\blist.txt
/ruser $did(blacklist,1).sel blacklist
}
alias blist.del {
/did -d blacklist 1 $did(blacklist,1).sel
/write -sd $+ $did(blacklist,1).sel txt\blist.txt
}
alias blist.clear {
/did -r blacklist 1
/write -c txt\blist.txt
}
on *:JOIN:#:{
var %z = $read(txt\blist.txt,n,*,0)
if ($me isop $chan) || ($me ishop $chan) {
mode $chan +b %z
}
}