Code:
 alias check_self_idle {
  var %idx = 0, %chans, %chan, %secs
  ; set this to the channels you want to check, separated by a space
  %chans = #xbc_opers #xbc_game1 #xbc_help
  ; set this to the amount of seconds to check against idle time
  %secs = 60
  ; 300 equals five minutes
  while (%idx < $numtok(%chans,32)) {
    inc %idx
    %chan = $gettok(%chans, %idx, 32)
    if ($nick(%chan,$me).idle >= %secs) {
      if ($me isop %chan) { mode %chan -o $me }
      if ($me ishop %chan) { mode %chan -h $me }
    }
  }
}
  


thats how I set it up, and I idled for 1 minute, and It did not dehalfop me frown