rendered paste body###############
## Away/Back ##
###############
menu channel,status {
Away (Status):status
}
alias status {
dialog -m status status
}
dialog status {
title "Away Dialog"
size -1 -1 235 115
option dbu
tab "Away", 1, -2 -2 237 116
tab "List", 2
tab "Logs", 3
box "Away Table" 4, 5 16 110 45, tab 1
text "Away Msg:" 5, 11 26 30 10, tab 1
edit "", 6, 40 26 70 9, tab 1
text "Set Nick:" 7, 11 39 30 10, tab 1
edit "", 8, 36 37 74 9, tab 1
button "Set Away" 9, 45 48 33 11, tab 1
box "Back Table" 10, 120 16 110 45, tab 1
text "Away Time:" 11, 128 26 30 8, tab 1
text "", 12, 157 26 67 8, tab 1
text "Nick:" 13, 128 38 30 8, tab 1
edit "", 14, 141 37 83 8, tab 1
button "Set Back" 15, 160 48 33 11, tab 1
box "Status" 16, 55 84 130 20, tab 1
text "Status:" 17, 60 92 30 10, tab 1
text "", 18, 80 92 115 9, tab 1
box "Logger", 19, 35 63 170 20, tab 1
text "Enable Logging:", 20, 40 72 40 9, tab 1
check "", 21, 81 71 10 10, tab 1
text "Enable Reply PM:", 22, 146 72 43 9, tab 1
check "", 23, 190 71 10 9, tab 1
box "Trigger List", 24, 30 13 80 97, tab 2
list 25, 35 21 70 74, size tab 2
button "Delete", 26, 38 96 31 11, tab 2
button "Clear", 27, 69 96 31 11, tab 2
box "Add Trigger", 28, 115 15 105 39, tab 2
text "Name:", 29, 121 27 25 9, tab 2
edit "", 30, 138 25 73 9, tab 2
button "Add Trigger", 31, 145 37 35 13, tab 2
box "Logger", 32, 115 56 105 30, tab 2
text "Enable Logger:", 33, 133 69 40 9, tab 2
check "", 34, 172 68 10 10, tab 2
box "Logs", 35, 30 13 170 98, tab 3
list 36, 36 21 157 72, size tab 3
button "Clear Logs", 37, 158 96 40 13, tab 3
text "Enable Notice:" 38, 94 72 40 9, tab 1
check "", 39, 131 71 10 10, tab 1
}
on *:DIALOG:status:init:0: {
did -a $dname 14 %cnick
did -a $dname 12 $iif(%atime != $acstime,$duration($calc($ctime - $ctime(%atime))),You aren't away.)
var %trig 1
while (%trig <= $lines(trigger.txt)) {
did -a $dname 25 $read(trigger.txt,%trig)
inc %trig
}
var %vlog 1
while (%vlog <= $lines(logger.txt)) {
did -a $dname 36 $read(logger.txt,%vlog)
inc %vlog
}
if (%away != on) {
did -a $dname 18 Active
}
if (%away == on) {
did -a $dname 18 Away
}
if (%logging == on) {
did -c $dname 21
did -c $dname 34
}
if (%pmreply == on) {
did -c $dname 23
}
if (%nreply == on) {
did -c $dname 39
}
}
on *:DIALOG:status:sclick:9: {
if (%away != on) {
set %away on
set %cnick $me
set %awaymsg $did(6)
set %atime $asctime
set %nick $did(8)
var %x = 1, %connections = $scon(0)
while (%x <= %connections) {
scon %x
if ($status == connected) {
amsg 12.:[11Away12]:. %awaymsg 12.:[11Time12]:. $time 12.:[11Logger12]:. $iif(%logging == on,ON,OFF)
away %awaymsg
if (%nick) { nick %nick }
}
inc %x
}
dialog -x status
}
else {
did -a $dname 18 You are already away.
}
}
on *:DIALOG:status:sclick:15: {
if (%away == on) {
var %x = 1, %connections = $scon(0)
while (%x <= %connections) {
scon %x
if ($status == connected) {
amsg 12.:[11BaCk12]:. %awaymsg 12.:[11GoNe12]:. $duration($calc($ctime - $ctime(%atime)))
nick $did(14)
away
}
inc %x
}
unset %cnick
unset %atime
unset %awaymsg
unset %nick
unset %away
unset %pr*
unset %nt*
unset %trig
dialog -x status
}
else {
did -a $dname 18 You aren't away.
}
}
on *:DIALOG:status:sclick:21: {
if (%logging != on) {
did -c $dname 34
set %logging on
did -a $dname 18 Logging is now ENABLED
}
elseif (%logging == on) {
did -u $dname 34
unset %logging
did -a $dname 18 Logging is now DISABLED
}
}
on *:DIALOG:status:sclick:26: {
did -d $dname 25 $did($dname,25).sel
write -d trigger.txt $readn(trigger.txt,$did($dname,25))
}
on *:DIALOG:status:sclick:27: {
did -r $dname 25
write -c trigger.txt
}
on *:DIALOG:status:sclick:34: {
if (%logging != on) {
did -c $dname 21
set %logging on
did -a $dname 18 Logging is now ENABLED
}
elseif (%logging == on) {
did -u $dname 21
unset %logging
did -a $dname 18 Logging is now DISABLED
}
}
on *:DIALOG:status:sclick:23: {
if (%pmreply != on) {
set %pmreply on
did -a $dname 18 PM Amsg is now ENABLED
}
elseif (%pmreply == on) {
unset %pmreply
did -a $dname 18 PM Amsg is now DISABLED
}
}
on *:DIALOG:status:sclick:31: {
if ($did(30) != $null) {
did -a $dname 25 $did(30)
write trigger.txt $did(30)
did -r $dname 30
}
}
on *:DIALOG:status:sclick:37: {
did -r $dname 36
write -c logger.txt
}
on *:DIALOG:status:sclick:39: {
if (%nreply != on) {
set %nreply on
did -a $dname 18 Notice Reply is now ENABLED
}
elseif (%nreply == on) {
unset %nreply
did -a $dname 18 Notice Reply is now DISABLED
}
}
on *:OPEN:?:*: {
if (%away == on && %pr [ $+ [ $nick ] ] != on && %pmreply == on) {
set %pr [ $+ [ $nick ] ] on
msg $nick 2[5PrivMsg2] I am currently 12.:[11AwAy12]:. %awaymsg 12.:[11Gone12]:. $duration($calc($ctime - $ctime(%atime))) 12.::. One Time Response to PM
}
}
on *:TEXT:*:#: {
if (%away == on) {
set %trig 1
while (%trig <= $lines(trigger.txt)) {
if ($read(trigger.txt,*,%trig) isin $1-) {
if (%logging == on) {
write logger.txt $chr(123) $+ $asctime(ddd HH:nn) $+ $chr(125) $+ $chr(91) $+ $network $+ $chr(47) $+ $chan $+ $chr(47) $+ $nick $+ ] $1-
}
if (%nt [ $+ [ $nick ] ] != on) && (%nreply == on) {
set %nt [ $+ [ $nick ] ] on
notice $nick 2[5PrivMsg2]14 I am currently 12.:[11AwAy12]:.14 %awaymsg 12.:[11Gone12]:. $duration($calc($ctime - $ctime(%atime))) 12.::.14 One Time Response to PM
}
break
}
else {
inc %trig
}
}
else {
break
}
}
}
alias gone {
if (%away != on) {
set %away on
set %cnick $me
set %awaymsg $2-
set %atime $asctime
set %nick $1
amsg 12.:[11AwAy12]:. %awaymsg 12.:[11TiMe12]:. $time 12.::. $iif(%logging == on,ON,OFF)
away %awaymsg
nick %nick
}
else {
echo -at You are already 12AWAY
}
}
alias back {
if (%away == on) {
amsg 12.:[11Back12]:. %awaymsg 12.:[11Gone12]:. $duration($calc($ctime - $ctime(%atime)))
nick %cnick
away
unset %cnick
unset %atime
unset %awaymsg
unset %nick
unset %away
unset %pr*
unset %nt*
unset %trig
}
else {
echo -at You are 4NOT 12AWAY
}
}