Cheiron, use this version instead. Since you're to mainly kick for regular idlers. You can simply use the r. I also added a channel settings so you can choose which channel to watch out for idlers. If no channel specified, the script will kick them on the channel where you are:
menu * {
-
Idle Limit Settings
.Set Channel {
set %i.chan $$?="What Channel? (#channel) "
}
.Set Limit for Idling {
set %i.limit $$?="Idle limit? (60 = 1 minute) "
}
.Reset the Idle Limit {
unset %i.limit
notice $me idle time limit has been unset.
}
.Turn Idle Check On {
.enable #idlecheck
echo -a * Auto-Idle Check Has Been Turned On
.timeridle 0 10 idlecheck
}
.Turn Idle Check Off {
.disable #idlecheck
echo -a * Auto-Idle Check Has Been Turned Off
.timeridle off
}
-
}
#idlecheck on
#idlecheck end
alias -l idlecheck {
var %ci = $iif($(,%i.chan),$v1,#)
tokenize 32 $remtok($regsubex($str(.,$nick(%ci,0,r)),/./g,$&
$iif($nick(%ci,\n,r).idle > $iif($(%i.limit,2),$v1,1800),$&
$nick(%ci,\n,r)) $chr(32)),$me,32)
kick %ci $* Idle Time Limit is $iif($(,%i.limit),$v1,1800) seconds.
}
P.S. You should think about banning them for a minute or two. They can easily rejoin the channel and idle again. And that'll be nonstop. If you want, you can change the kick bit to this one:
ban -ku120 %ci $* 2 Idle Time Limit is $iif($(,%i.limit),$v1,1800) seconds.
This will ban their hosts for 2 minutes before they can come back.