Simply checks for idlers at channel(-s) every 30 seconds and if anyone (besides exceptions and script user) with access has idled more than allowed at %maxidle variable, that persons access will be removed.
If no exceptions, remove or leave blank that variable.
For one channel use just #yourchan.
P.S. %maxidle is in seconds.
on *:CONNECT:.timer 0 30 checkidles
alias checkidles {
;Editable part
var %channels = #yourchan,#yourchan2
var %exceptions = nick1,nick2,nick3
var %maxidle = 600
;End of Editable part
var %chans = $numtok(%channels,44)
while %chans {
var %channel = $gettok(%channels,%chans,44), %nicks = $nick(%channel,0,ohv)
while %nicks {
var %nick = $nick(%channel,%nicks,ohv)
if ($nick(%channel,%nick).idle >= %maxidle) && (!$findtok(%exceptions,%nick,44)) && (%nick != $me) mode %channel -oahv %nick %nick %nick %nick
dec %nicks
}
dec %chans
}
}
napa182, yes, i thinked about that when making it, but i maked it more for the starters, so sticked to the "lame" version :)
napalm', thank you.
Cheiron, as napa182 & Gummo mentioned - the idle time starts counting from the time you join the channel (it is 0 then) and increases till any action from the nick & then again starts from 0, not basing on the IRCd version.
rhasttaff, actually yes, i will change that, thanks.
i have one question and a decent one too. server i use has 2 which it uses for the chat but linked.. IRC3 + IRC4. obviously if you are on the same IRC you will be able to get the idle times but if you are on different IRC's you wont. to get idle time across the 2 you have to do the /whois for it to show.
will yours allow for this and if not any chance of an upgrade to include this type of setup