I suspect the OP was thinking of the network idle time, rather than the channel idle time, when he referred to the 'checkidle method'

I'd also like to refer the OP, and anyone else that's looking for a code like this, to my Idle Kicker which is a bit more detailed.