I'm assuming wink that you've already added users with "auser" or "guser" to your userlist.
The example below is based on users added to the userlist with type 2 (*!*@host). It was not tested.
Code:
alias CheckIdlers {
  var %chan = #YourChannel, %a = $nick(%chan,0)  
  while %a {
    var %nick = $address($nick(%chan,%a,r),[color:blue]2[/color])
    if (!$ulist(%nick,10,1) || !$ulist(%nick,11,1)) {
      if ($nick(%chan,%a,r).idle > 20) { 
        ban -ku300 %chan $nick(%chan,%a,r) 2 Please do not idle. Return in a while if you need help or want to help
      }
    }
    dec %a
  } 
}   
 


Those who live by the sword get shot by those who don't.