All pastes #105572 Raw Edit

Mine

public text v1 · immutable
#105572 ·published 2006-07-29 18:37 UTC
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
}