if you want the idle to turn off after it goes on, then yeah, you have to use input, this is what i use for a simple auto idle away.
Code:
 on *:input:*:{
  if ($readini(serv.ini, idle, power) == On) {
    if (%idle != $null) { .set %idle 1 }
    if (%idle == $null) {
      .away
      .ame _( AWAY )_( Back From: )_( IDLE )_
      .echo -a _( AWAY )_( Back From: )_( IDLE )_
      .set %idle 1
    }
  }
}
alias ckidle {
  if ($readini(serv.ini, idle, power) == On) {
    if (%idle == %idletime) {
      .away _( AWAY )_( Auto Away After $calc(%idletime / 60) Minute(s) )_( IDLE )_
      .ame _( AWAY )_( Auto Away After $calc(%idletime / 60) Minute(s) )_( IDLE )_
      .echo -a _( AWAY )_( Auto Away After $calc(%idletime / 60) Minute(s) )_( IDLE )_
      .unset %idle
      halt
    }
    if (%idle < %idletime) { .inc %idle 1 | halt }
    if (%idle > %idletime) { halt }
  }
}
menu channel,status,query,menubar {
  Idle For $+ $chr(58) $duration($calc(%idle),4)
  ._( Idle Limit )_( $duration($calc(%idletime),4) )_:.set %idletime $calc($input(Auto Away After How Many Minutes?,1,Idle,$calc(%idletime / 60)) * 60)
  ._( Auto Away )_( $readini(serv.ini, idle, power) )_:{
    .writeini serv.ini idle power $iif($readini(serv.ini, idle, power) = Off,On,Off)
    if ($readini(serv.ini, idle, power) == On) { .set %idletime $calc($input(Auto Away After How Many Minutes?,1,Idle,$calc(%idletime / 60)) * 60) | .inc %idle 1 | .timerCKIDLE 0 1 ckidle }
    if ($readini(serv.ini, idle, power) == Off) { .timerCKIDLE off | .unset %idle }
  }
}
 

this is a basic more simple scripted code, it could be rescripted to make it smaller, but it works!

You can use this same one, it does not have to be changed at all just use the popup in channel! it works perfect
i have had no trouble with it!!


"Scripter For Life" - Fx

irc.sysxtreme.com
im in all the channels that are in /list