rendered paste bodyalias -l qcdc {
write querylogs.txt $timestamp $+(<,%querynick,>) %querytext
close -m %querynick
dialog -x qcd2
}
alias -l cleardata {
unset %querynick
unset %querypm
dialog -x qcd2
}
dialog qcd1 {
title "Query Control [v0.5]"
size -1 -1 156 107
option dbu
radio "Block All Queries", 1, 5 5 50 10
radio "Allow All Queries", 2, 5 13 50 10
radio "Ask On Query", 3, 5 21 50 10
box "", 4, 1 -1 59 35
edit "", 5, 84 8 50 12, autohs
text "Use [me] and [nick] to add their respective identifiers to the response", 7, 70 29 80 21
box "Custom Response", 6, 62 -1 89 53
text "Default Hostmask", 8, 73 63 42 8
edit "", 9, 119 62 20 10, limit 1
text "Block Time (Secs)", 10, 73 75 45 8
edit "", 11, 119 74 20 10
box "Ignore Options", 12, 62 55 89 33
check "Block Colors", 13, 5 47 50 10
check "Block # Adverts", 14, 5 55 50 10
check "Block www./http:/.com", 15, 5 63 50 10
check "Block On Join PM's", 16, 5 71 53 10
button "View Allowed Nicks", 17, 3 92 54 10
box "Specific Blocks", 18, 1 38 59 45
button "Cancel", 19, 68 91 37 12, cancel
button "OK", 20, 109 91 37 12, ok
}
dialog -l qcd2 {
title %nick
size -1 -1 78 27
option dbu
button "Accept", 1, 1 1 37 12
button "Perm Accept", 2, 40 1 37 12
button "Ignore", 3, 1 14 37 12
button "Block", 4, 40 14 37 12
}
dialog -l qcd3 {
title
size -1 -1 57 67
option dbu
list 1, 3 2 52 50, size
button "Remove", 2, 3 53 25 12
button "Add", 3, 30 53 25 12
}
on *:DIALOG:qcd1:sclick:20:{
if ($did($dname,1).state == 0) && $did($dname,2).state == 0) && $did($dname,3).state == 0) {
writeini QMan.ini Setup method prompt
}
elseif ($did($dname,1).state == 1) {
writeini Qman.ini setup method block
}
elseif ($did($dname,2).state == 1) {
writeini Qman.ini setup method accept
}
elseif ($did($dname,3).state == 1) {
writeini Qman.ini setup method prompt
}
if ($did($dname,9).text != $null) && ($did($dname,9).text isnum 1-5) {
writeini qman.ini setup hostmask $did($dname,9).text
}
if ($did($dname,11).text != $null) && ($did($dname,11).text isnum 1-) {
writeini qman.ini setup ignoretime $did($dname,11).text
}
writeini qman.ini setup response $iif($did($dname,5).text != $null,$did($dname,5).text,Awaiting Query Validation...)
writeini qman.ini setup response1 $replace($did($dname,5).text,[me],$chr(36) $+ me,[nick],$chr(36) $+ nick)
writeini qman.ini setup bc $iif($did($dname,13).state == 1,1,0)
writeini qman.ini setup ba $iif($did($dname,14).state == 1,1,0)
writeini qman.ini setup bw $iif($did($dname,15).state == 1,1,0)
writeini qman.ini setup bj $iif($did($dname,16).state == 1,1,0)
}
on *:DIALOG:qcd1:init:*:{
if ($readini(qman.ini,setup,method) == block) { did -c $dname 1 }
elseif ($readini(qman.ini,setup,method) == accept) { did -c $dname 2 }
elseif ($readini(qman.ini,setup,method) == prompt) { did -c $dname 3 }
elseif ($readini(qman.ini,setup,method) == $null) { did -c $dname 3 }
did -a $dname 5 $iif($readini(qman.ini,setup,response1) != $null,$readini(qman.ini,setup,response1),Awaiting Query Validation... Please Wait)
if ($readini(qman.ini,setup,bc) == 1) { did -c $dname 13 }
if ($readini(qman.ini,setup,ba) == 1) { did -c $dname 14 }
if ($readini(qman.ini,setup,bw) == 1) { did -c $dname 15 }
if ($readini(qman.ini,setup,bj) == 1) { did -c $dname 16 }
did -a $dname 9 $iif($readini(qman.ini,setup,hostmask) != $null,$readini(qman.ini,setup,hostmask),1)
did -a $dname 11 $iif($readini(qman.ini,setup,ignoretime) != $null,$readini(qman.ini,setup,ignoretime),60)
}
on *:DIALOG:qcd1:sclick:17:{
dialog -ma qcd3 qcd3
}
on *:DIALOG:qcd2:sclick:1:{
.timerqueryd off
query -n %querynick Query Accepted
window -a %querynick
cleardata
}
on *:DIALOG:qcd2:sclick:2:{
cleardata
}
on *:DIALOG:qcd2:sclick:3:{
cleardata
}
on *:DIALOG:qcd2:sclick:4:{
set $+(-u,$readini(qman.ini,setup,ignoretime)) %queryblocker [ $+ [ $address(%querynick,$readini(qman.ini,setup,hostmask)) ] ] 1
close -m %querynick
cleardata
}
on ^*:OPEN:?:{
if (%queryblocker [ $+ [ $address($nick,$readini(qman.ini,setup,hostmask)) ] ] != $null) { .msg $nick Query Blocked | halt }
elseif ($readini(qman.ini,allowed,$nick) != $null) { return }
.msg $nick $readini(qman.ini,setup,response)
if ($dialog(qcd2) != $null) {
write querylogs.txt $timestamp $+(<,%querynick,>) %querytext
set %querynick $nick
set %querytext $1-
.timerqueryd 1 10 qcdc
}
else {
set %querynick $nick
set %querytext $1-
dialog -m qcd2 qcd2
.timerqueryd 1 10 qcdc
}
}