rendered paste bodymenu channel,status {
PM Accepter/Blocker: { pmd }
}
alias pmd {
dialog -m pmd pmd
}
dialog pmd {
title "PM Blocker - Made by BaK"
size -1 -1 250 120
option dbu
box "PM Accepter" 1, 5 2 140 56
text "Received Message:" 2, 10 10 47 8
edit "PM Received - Please Wait...", 3, 58 9 80 8
text "Accept Message:" 4, 10 21 45 8
edit "[Accepted]" 5, 52 19 86 9
text "Decline Message:" 6, 10 32 46 8
edit "[Declined]" 7, 52 32 86 9
button "Turn ON" 8, 68 43 35 12
button "Turn OFF" 9, 103 43 35 12
box "PM Blocker" 10, 5 57 140 36
text "Block Message:" 11, 10 68 45 8
edit "I am [Blocking] all PMs" 12, 47 66 92 9
button "Block ON" 13, 63 77 38 13
button "Block OFF" 14, 101 77 38 13
box "Status" 15, 20 95 110 20
text "Status:" 16, 25 103 20 8
text "" 17, 45 103 80 9
box "Exceptions List" 18, 155 3 90 112
list 19, 165 12 70 70, size
text "Add Nick:" 20, 158 87 25 10
edit "", 21, 181 85 54 10
button "Add", 22, 165 98 35 13
button "Delete", 23, 201 98 35 13
text "Enable Excepts:", 24, 10 45 39 10
check "", 25, 52 45 8 8
text "Enable Excepts:" 26, 10 80 39 10
check "", 27, 52 80 8 8
}
on *:DIALOG:pmd:init:0: {
var %y 1
while (%y <= $ini(allow.ini,AllowList,0)) {
did -a $dname 19 $ini(allow.ini,AllowList,%y)
inc %y
}
if (%accept != on || %blocker != on) {
did -r $dname 17
did -a $dname 17 PM Accepter/Blocker is DISABLED
}
if (%accept == on) {
did -r $dname 17
did -a $dname 17 PM Accepter is ENABLED
}
if (%blocker == on) {
did -r $dname 17
did -a $dname 17 PM Blocker is ENABLED
}
if (%exaccept == on) {
did -c $dname 25
}
if (%exblock == on) {
did -c $dname 27
}
}
on *:DIALOG:pmd:sclick:8: {
if (%accept != on && %blocker != on) {
set %received $did(3)
set %accepted $did(5)
set %declined $did(7)
set %accept on
echo -at PM Accepter is now ON
dialog -x pmd
}
elseif (%accept == on || %blocker == on) {
did -a $dname 17 PM Accept/Blocker is already ON
}
}
on *:DIALOG:pmd:sclick:9: {
if (%accept == on) {
unset %accept
unset %received
unset %accepted
unset %declined
echo -at PM Accepter is now OFF
dialog -x pmd
}
else {
did -a $dname 17 PM Accepter is DISABLED
}
}
on *:DIALOG:pmd:sclick:13: {
if (%accept != on && %blocker != on) {
set %blocked $did(12)
set %blocker on
echo -at PM Blocker is now ON
dialog -x pmd
}
elseif (%accept == on || %blocker == on) {
did -a $dname 17 PM Accept/Blocker is already ON
}
}
on *:DIALOG:pmd:sclick:14: {
if (%blocker == on) {
unset %blocker
unset %blocked
echo -at PM Blocker is now OFF
dialog -x pmd
}
else {
did -a $dname 17 PM Blocker is DISABLED
}
}
on *:OPEN:?: {
if (%accept == on) {
if ($nick iswm $readini(Allow.ini,AllowList,$nick) && %exaccept == on) {
halt
}
else {
msg $nick %received
.timer 1 0 accepter $nick
}
}
if (%blocker == on) {
if ($nick iswm $readini(Allow.ini,AllowList,$nick) && %exblock == on) {
halt
}
else {
msg $nick %blocked
ignore -pu300 $nick
window -c $nick
}
}
}
alias accepter {
set %accepter $input(Accept query from $1 $+ ?,y)
answer $1
}
alias answer {
if (%accepter == $true) {
msg $1 %accepted
window -a $1
}
if (%accepter == $false) {
msg $1 %declined
ignore -pu300 $1
window -c $1
}
unset %accepter
}
on *:DIALOG:pmd:sclick:22: {
if ($did(21) == $null) {
did -a $dname 17 Please specify a NAME!
}
else {
writeini Allow.ini AllowList $did(21) $did(21)
did -a $dname 19 $did(21)
did -r $dname 21
}
}
on *:DIALOG:pmd:sclick:23: {
if ($did($dname,19).seltext == $null) {
did -a $dname 17 Please Highlight a NAME!
}
else {
remini Allow.ini AllowList $did($dname,19).seltext
did -d $dname 19 $did($dname,19).sel
}
}
on *:DIALOG:pmd:sclick:25: {
if (%exaccept != on) {
did -a $dname 17 Accepter w. Excepts is ON
set %exaccept on
}
elseif (%exaccept == on) {
did -a $dname 17 Accepter w. Excepts is OFF
unset %exaccept
}
}
on *:DIALOG:pmd:sclick:27: {
if (%exblock != on) {
did -a $dname 17 Blocker w. Excepts is ON
set %exblock on
}
elseif (%exblock == on) {
did -a $dname 17 Blocker w. Excepts is OFF
unset %exblock
}
}
on *:TEXT:!away*:#: {
set %reason $2-
set %ctimer $ctime
msg $chan $nick is now away at $asctime $+ . They are gone for reason: %reason $+ .
}
dialog a {
title "Away Dialog v1"
size -1 -1 159 110
option dbu
edit "", 4, 0 0 158 88
button "Leave", 5, 65 100 30 10, flat
edit "", 6, 28 88 130 10
text "Away nick:", 7, -2 88 29 8, right
menu "File", 1
item "Return", 3, 1
item "Exit", 2, 1, cancel
}
on *:DIALOG:a:sclick:*: {
if ($did == 5) {
set %gone.me $me
set %gone.nick $did(6)
set %gone.reason $did(4)
set %gone.ctime $ctime
set %gone.time $time
nick %gone.nick
amsg $+ $chr(91) $+ $chr(171) Away for $chr(187) $+ $chr(93) $+ $+ %gone.reason $+ $chr(91) $+ $chr(171) Left at $chr(187) $+ $chr(93) $+ %gone.time $+
}