ermm I think the above part of
on *:text:**:#: {
if $1 != $me $+ ? { halt }
is a little bit hairy
why not just use:
alias away { .scon -a away $iif(!$1,AFK,$1-) | set %reason. [ $+ [ $network ] ] $iif(!$1,AFK,$1-) | set %away.1. [ $+ [ $network ] ] $ctime | set %awayscript. [ $+ [ $network ] ] on | amsg I am now away. $1- $+ . }
alias back { if (%awayscript. [ $+ [ $network ] ] == on) { .scon -a away | amsg I am now back from $awaymsg $+ , I was gone for: $duration($awaytime) | unset %reason. [ $+ [ $network ] ] | unset %away.1. [ $+ [ $network ] ] | set %awayscript. [ $+ [ $network ] ] off } }
on *:TEXT:$( * $+ $me $+ * ):#: {
if (%awayscript. [ $+ [ $network ] ] == on) && (%flood [ $+ [ $address($nick,2) ] ] != on) {
.notice $nick I am currently away. Reason: %reason. [ $+ [ $network ] ] $+ . I have been away for $duration($calc($ctime - %away.1. [ $+ [ $network ] ] ))
set -u60 %flood [ $+ [ $address($nick,2) ] ] on
}
}
on *:TEXT:*:?: {
if (%awayscript. [ $+ [ $network ] ] == on) && (%flood [ $+ [ $address($nick,2) ] ] != on) {
.msg $nick I am currently away. Reason: %reason. [ $+ [ $network ] ] $+ . I have been away for $duration($calc($ctime - %away.1. [ $+ [ $network ] ] ))
set -u60 %flood [ $+ [ $address($nick,2) ] ] on
}
}
And it will work across multiple networks.