rendered paste bodyalias pp dialog -m pp pp
dialog pp {
title "Personal Protection [/pp]"
size -1 -1 150 83
option dbu
icon icons/Prot.ico, 0
button "OK", 10, 99 69 47 12, ok
tab "Deop", 2, 2 0 145 66
box "Deop Protection:", 13, 4 15 140 47, tab 2
check "When Deoped, MSG ChanServ OP Me, Deop Nick", 6, 7 23 132 10, tab 2
check "When Deoped, MSG X OP Me, Deop Nick", 15, 7 36 129 10, tab 2
check "When Deoped, MSG Q/L OP Me, Deop Nick", 20, 7 48 127 10, tab 2
tab "Kick", 1
box "Kick Protection:", 12, 4 15 140 47, tab 1
check "When Kicked, Rejoin Normally, Deop/Kick Nick", 7, 7 23 129 10, tab 1
check "When Kicked, Join Chan, MSG X OP Me, Kick Nick", 14, 7 36 132 10, tab 1
check "When Kicked, Join Chan, MSG Q/L OP Me, Kick Nick", 19, 7 48 121 10, tab 1
tab "Ban", 3
box "Ban Protection:", 23, 4 15 140 47, tab 3
check "When Banned, Unban Normally, Deop/Ban Nick", 8, 7 36 127 10, tab 3
tab "Slap", 4
check "When Slapped, Kick Nick", 9, 7 37 124 8, tab 4
box "Slap Protection:", 5, 4 15 140 47, tab 4
text "Deop/Kick/Ban/Slap Protection", 11, 4 72 80 8, disable
}
on *:dialog:pp:init:*:{
if ( %deop = On ) { did -c pp 6 | .enable #deop } | else { did -u pp 6 | .disable #deop }
if ( %kick = On ) { did -c pp 7 | .enable #kick } | else { did -u pp 7 | .disable #kick }
if ( %ukick = On ) { did -c pp 14 | .enable #ukick } | else { did -u pp 14 | .disable #ukick }
if ( %udeop = On ) { did -c pp 15 | .enable #udeop } | else { did -u pp 15 | .disable #udeop }
if ( %qdeop = On ) { did -c pp 20 | .enable #qdeop } | else { did -u pp 20 | .disable #qdeop }
if ( %qkick = On ) { did -c pp 19 | .enable #qkick } | else { did -u pp 19 | .disable #qkick }
if ( %ban = On ) { did -c pp 8 | .enable #ban } | else { did -u pp 8 | .disable #ban }
if ( %slap = On ) { did -c pp 9 | .enable #slap } | else { did -u pp 9 | .disable #slap }
}
on *:dialog:pp:sclick:*:{
if ($did == 6) { if ($did($dname,$did).state == 1) { set %deop On | .enable #deop } | else { set %deop Off | .disable #deop } }
if ($did == 7) { if ($did($dname,$did).state == 1) { set %kick On | .enable #kick } | else { set %kick Off | .disable #kick } }
if ($did == 14) { if ($did($dname,$did).state == 1) { set %ukick On | .enable #ukick } | else { set %ukick Off | .disable #ukick } }
if ($did == 15) { if ($did($dname,$did).state == 1) { set %udeop On | .enable #udeop } | else { set %udeop Off | .disable #udeop } }
if ($did == 20) { if ($did($dname,$did).state == 1) { set %qdeop On | .enable #qdeop } | else { set %qdeop Off | .disable #qdeop } }
if ($did == 19) { if ($did($dname,$did).state == 1) { set %qkick On | .enable #qkick } | else { set %qkick Off | .disable #qkick } }
if ($did == 8) { if ($did($dname,$did).state == 1) { set %ban On | .enable #ban } | else { set %ban Off | .disable #ban } }
if ($did == 9) { if ($did($dname,$did).state == 1) { set %slap On | .enable #slap } | else { set %slap Off | .disable #slap } }
}
#deop on
on 1:DEOP:#: {
if ( $opnick == $me) && ( $nick != $me) {
.ChanServ Op $chan $me
if ( $nick == chanserv) { halt }
else {
.timer 1 2 /mode $chan -o $nick
}
}
else { halt }
}
#deop end
#kick on
on 1:KICK:#: {
if ( $knick == $me) && ( $nick != $me) {
.join $chan
.timer 1 2 /mode $chan -o $nick
kick $chan $nick 4Dont Kick me!
}
else { halt }
}
#kick end
#udeop off
on *:NOTICE:*deopped*:*:{
.timer 1 2 .msg x op %kanal
.set %dust $4
.timer 1 4 .msg x deop %kanal %dust
}
on 1:DEOP:#:{
if ($opnick == $me) {
.msg x op $chan
.set %kanal $chan
}
if ($nick != X) && ($opnick == $me) {
.timer 1 2 .msg x deop $chan $nick
}
}
on *:OP:#:{
if ($opnick == %dust) && ($nick != X) {
.set %trator $nick
.timer 1 2 .msg x deop $chan %trator
.timer 1 2 .msg x deop $chan %dust
.timer 1 20 .unset %dust | .unset %trator
}
}
#udeop end
#ukick off
On *:kick:#: {
if ($knick == $me) {
.msg x op # | kick # $nick 4Don't Kick me!
}
}
#ukick end
#qdeop off
on !*:deop:#:if ($opnick == $me) { .msg $$iif(Q ison $chan, Q, $iif(L ison $chan, L)) op $chan | set %dchan $chan | set %dnick $nick }
on *:op:#:if ($opnick == $me && %dchan == $chan) { if (%dnick ison $chan) { mode $chan -o %dnick } | unset %dchan | unset %dnick }
#qdeop end
#qkick off
on *:KICK:#: {
if ($knick == $me) {
set -u8 %me-kickd-by $nick
set -u8 %me-kickd-by-a $address($nick,1)
join $chan
if (Q ison $chan) {
.timer 1 0 .msg Q op $chan
}
elseif (L ison $chan) {
.timer 1 0 .msg L op $chan
}
.timer 1 2 kick $chan %me-kickd-by 4Don't kick me!
}
}
#qkick end
#ban on
on @*:ban:*:{ if ($banmask iswm $address($me,5)) { mode # -b $banmask | mode # -o+b $nick $nick } }
#ban end
#slap off
on 1:ACTION:$(*slaps $me *):#:{ kick $chan $nick 4Don't Slap Me! }
#slap end