on me:*:join:#xop:.idlechk # | .timer 0 600 idlechk #
alias idlechk .warning | .enable #q | hinc -m ttl total $nick($1,0,@) | if ($1 && $nick($1,0,@) >= 1) { var %1 = 1 | while (%1 <= $nick($1,0,@)) { .whois $nick($1,%1,@) | inc %1 } }
alias warning {
set %w1 u did idle more then 10 mins
set %w2 u kicked cos of idle more then 20 mins
set %w3 cos of idle more then 20 mins
}
#q off
raw *:*: {
haltdef
if ($regex($numeric,^317$)) {
inc %& | if ($3 >= 600 && $3 < 1200) { .msg #xop $qt($2) %w1 }
if ($3 >= 1200) { .kill $2 %w3 | .msg #xop $qt($2) %w2 }
if (%& == $hget(ttl,total)) { .unset %& | .hfree ttl | .disable #q }
}
}
#q end