- return Version(1,0,0,1,VF_VENDOR);
+ unsigned long idle;
+ if (!InspIRCd::Duration(parameters[0], idle))
+ {
+ user->WriteNumeric(ERR_INVALIDIDLETIME, "Invalid idle time.");
+ return CMD_FAILURE;
+ }
+ user->idle_lastmsg = (ServerInstance->Time() - idle);
+ // minor tweak - we cant have signon time shorter than our idle time!
+ if (user->signon > user->idle_lastmsg)
+ user->signon = user->idle_lastmsg;
+ ServerInstance->SNO->WriteToSnoMask('a', user->nick+" used SETIDLE to set their idle time to "+ConvToStr(idle)+" seconds");
+ user->WriteNumeric(RPL_IDLETIMESET, "Idle time set.");
+
+ return CMD_SUCCESS;