rendered paste body;
; #Support idle removal
;
on *:join:#support: {
.timer 1 5 joincheckstatus $nick
}
alias joincheckstatus {
if ($1 isreg #support) {
set %support- $+ $1 $ctime
set %supportcheck- $+ $1 0
}
}
on *:part:#support: {
if ($eval($+(%,support-,$nick),2) != $null) {
unset %support- $+ $nick
unset %supportcheck- $+ $nick
}
}
on *:text:*:#support: {
if ($nick isreg $chan) {
set %support- $+ $nick $ctime
}
else {
var %i = 1
while (%i <= $var(%supportcheck-*,0)) {
set $var(%supportcheck-*,%i) 1
inc %i
}
}
}
on *:action:*:#support: {
if ($nick isreg $chan) {
set %support- $+ $nick $ctime
}
else {
var %i = 1
while (%i <= $var(%supportcheck-*,0)) {
set $var(%supportcheck-*,%i) 1
inc %i
}
}
}
alias checksupportidle {
var %i = 1
var %j = 1
while (%i <= $nick(#support,0)) {
if ($nick(#support,%i) isreg #support) {
if ($ctime >= $calc($eval($+(%,support-,$nick(#support,%i)),2)+180) && $eval($+(%,support-,$nick(#support,%i)),2) != $null && $eval($+(%,supportcheck-,$nick(#support,%i)),2) == 1) {
sapart $nick(#support,%i) #support Idle time in #Support has been exceeded. Please join this channel if you're in need of assistance in the future.
unset %support- $+ $nick(#support,%i)
unset %supportcheck- $+ $nick(#support,%i)
}
else if ($eval($+(%,support-,$nick(#support,%i)),2) == $null) {
set %support- $+ $nick(#support,%i) $ctime
set %supportcheck- $+ $nick(#support,%i) 1
}
if ([ [ $var(%supportcheck-*,%j) ] ] != 1) {
set %support- $+ $nick(#support,%i) $ctime
}
inc %j
}
inc %i
}
%i = 1
while (%i <= $var(%support-*,0)) {
if ($right($var(%support-*,%i),-9) !isreg #support || $right($var(%support-*,%i),-9) !ison #support) {
unset [ $var(%support-*,%i) ]
}
inc %i
}
%i = 1
while (%i <= $var(%supportcheck-*,0)) {
if ($right($var(%supportcheck-*,%i),-14) !isreg #support || $right($var(%supportcheck-*,%i),-14) !ison #support) {
unset [ $var(%supportcheck-*,%i) ]
}
inc %i
}
}
alias startsupportidletimer {
.timer4332 0 10 checksupportidle
}
alias stopsupportidletimer {
.timer4332 off
}