; ; #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 }