rendered paste body;;##START SCRIPT##;;
;;##CID START##;;
on *:START:/scid $activecid | .timersweep 0 $calc($readini(settings.ini,settings,sweepmins) * 300) /xsweep
;;##DIALOG##;;
dialog -l o {
title "Bebop's Black List"
size -1 -1 226 107
option dbu
icon black.ico, 0
list 1, 2 3 56 102, sort size extsel
edit "", 2, 60 87 164 19, read multi
button "+", 3, 61 5 20 20
button "-", 4, 61 25 20 20
button "Edit", 5, 61 45 20 20
button "Clear", 6, 61 65 20 20
radio "Ban and Kick", 7, 91 10 51 10, left
radio "Ban", 8, 91 19 51 10, left
radio "Kick", 9, 91 29 51 10, left
box "Options", 10, 84 3 60 83
radio "Kill", 11, 91 39 51 10, left
box "Do not Enforce on Channels...", 12, 145 3 78 83
text "Every", 14, 90 60 16 8
edit "", 15, 107 59 16 10
text "mins", 16, 124 60 12 8
list 17, 148 11 50 72, sort size extsel
button "+", 18, 201 11 18 18
button "-", 19, 201 29 18 18
button "Edit", 20, 201 47 18 18
button "Clear", 21, 201 65 18 18
check "Alert Me", 22, 90 69 52 10, left
check "Sweep Regularly", 13, 91 48 51 10, left
}
;;##DIALOG INIT##;;
on *:Dialog:o:init:0: { dialog.init }
;;##DIALOG SCLICKS##;;
on *:Dialog:o:sclick:*: {
If ($did = 1) { did -ra o 2 $reason($did(1).seltext) }
If ($did = 3) {
%add = $input(Nickname to Add?,idegvua)
If ($$read(list.txt,w,%add $+ *)) || (!%add) { goto end }
%reason = $input(Reason? (Optional),idegvua)
write list.txt %add $iif(%reason,%reason,Black Listed.)
did -a o 1 %add
did -e o 4,5,6
xsweep
}
:end
If ($did = 4) {
If (!$did(1).seltext) { halt }
%i = 0
While ($did(o,1,$did(o,1,%i).sel)) {
write -ds $+ $did(o,1,$did(o,1,%i).sel) list.txt
did -d o 1 $did(o,1,%i).sel
inc %i
}
dec %i
If ($did(o,1,%i).sel) { did -d o 1 $did(o,1,%i).sel }
did -r o 2
If ($lines(list.txt) = 0) { did -b o 4,5,6 }
}
If ($did = 5) {
If (!$did(1).seltext) { halt }
%edit = $input(,idegvua,,$did(2))
write -ds $+ $did(1).seltext list.txt
write list.txt $did(1).seltext %edit
did -ra o 2 %edit
unset %edit
}
If ($did = 6) {
%Y/N = $input(Are you sure you wish to clear your Black List? It will be lost forever.,yvgdw)
If (%Y/N = $no) { unset %Y/N | halt }
If (%Y/N = $yes) {
did -r o 1,2
did -b o 4,5,6
unset %Y/N
write -c list.txt
}
}
If ($istok(7.8.9.11,$did,46)) { writeini settings.ini settings enforce $replace($did,7,1,8,2,9,3,11,4) }
If ($did = 13) { writeini settings.ini settings sweep $iif($readini(settings.ini,settings,sweep) = Y,N,Y) | .timerxsweep $iif($timer(xsweep),off,0 $calc($did(15) * 300) /xsweep) }
If ($did = 22) { writeini settings.ini settings alert $iif($readini(settings.ini,settings,alert) = Y,N,Y) }
If ($did = 18) {
%add = $input(Channel to Add?,idegvua)
If ($read(nochans.txt,w,%add)) || (!%add) || ($left(%add,1) != $chr(35)) { goto end.3 }
write nochans.txt %add
did -a o 17 %add
did -e o 19,20,21
:end.3
unset %add
}
If ($did = 19) {
If (!$did(17).seltext) { halt }
%i = 0
While ($did(o,17,$did(o,17,%i).sel)) {
write -ds $+ $did(o,17,$did(o,17,%i).sel) nochans.txt
did -d o 17 $did(o,17,%i).sel
inc %i
}
dec %i
If ($did(o,17,%i).sel) { did -d o 17 $did(o,17,%i).sel }
If ($lines(nochans.txt) = 0) { did -b o 19,20,21 }
}
If ($did = 20) {
If (!$did(17).seltext) { halt }
%edit = $input(,idegvua,,$did(2))
write -ds $+ $did(17).seltext nochans.txt
write nochans.txt %edit
did -d o 17 $did(o,17,1).sel
did -a o 17 %edit
unset %edit
}
If ($did = 21) {
%Y/N = $input(Are you sure you wish to clear your Channel List? It will be lost forever.,yvgdw)
If (%Y/N = $no) { unset %Y/N | halt }
If (%Y/N = $yes) {
did -r o 17
did -b o 19,20,21
unset %Y/N
write -c nochans.txt
}
}
}
;;##DIALOG EDIT##;;
on *:Dialog:o:edit:15: { writeini settings.ini settings sweepmins $did(15) | .timerxsweep 0 $calc($did(15) * 300) /xsweep }
;;##EVENTS TO TRIGGER ON##;;
on *:JOIN:#: { xsweep # }
on *:NICK: { xsweep }
on *:RAWMODE:#: { If ($nick != $me) { xsweep # } }
;;##ALIASES##;;
alias F6 dialog $iif($dialog(o),-x,-m) o o
alias xsweep {
halt
If ($status = connected) {
If ($1) {
%i = 1
While ($nick($1,%i)) {
If ($fopen(q)) .fclose q
.fopen q list.txt
While (!$feof) && (!$ferr) {
}
}
}
}
unset %t %x %i %kickedpeople
}
alias -l dialog.init {
If ($lines(list.txt) = 0) { did -b o 4,5,6 | goto end }
%i = 1
If ($fopen(q)) .fclose q
.fopen q list.txt
While (!$feof) && (!$ferr) { did -a o 1 $fread(q) }
.fclose q
:end
If ($lines(nochans.txt) = 0) { did -b o 19,20,21 | goto end.2 }
If ($fopen(q)) { .fclose q }
.fopen q nochans.txt
While (!$ferr) && (!$feof) { did -a o 17 $fread(q) }
.fclose q
:end.2
%t = $replace($readini(settings.ini,settings,enforce),1,7,2,8,3,9,4,11)
did -c o %t
unset %t
did -a o 15 $readini(settings.ini,settings,sweepmins)
If ($readini(settings.ini,settings,sweep) = Y) { did -c o 13 | .timerxsweep 0 $calc($readini(settings.ini,settings,sweepmins) * 300) /xsweep }
If ($readini(settings.ini,settings,alert) = Y) { did -c o 22 }
}
alias -l reason return $gettok($read(list.txt,w,$1 $+ *),2-,32)