menu channel,nicklist {
Kick Idlers : idle.kick $network $chan
Set Allowed Idle Time : idle.time $network $chan
Auto Scan On : auto on $network $chan
Auto Scan Off : auto off $network $chan
}
alias auto {
if $1 == off {
$+(.timer,$2,.,$3) off
}
else {
if !$+(%,idle.time.,$1,.,$2) {
idle.time $1 $2
}
$+(.timer,$2,.,$3) 0 $$?="Time between scans in seconds" idle.kick $network $chan}
}
}
alias -l idle.time {
set %idle $$?="Allowed idle time in minutes or mm:ss format"
set $+(%,idle.time.,$1,.,$2) $iif($chr(58) isin %idle,$duration(%idle),$calc(%idle * 60))
}
alias -l idle.kick {
set %chan $2
if !$+(%,idle.time.,$1,.,$2) {
idle.time $1 $2
}
var %a = 1
while %a <= $nick($2,0) {
if $nick($2,%a).idle > $($+(%,idle.time.,$1,.,$2),2) {
.ban -ku $2 $nick($2,%a) No idling in $2
}
inc %a
}
}