#include "users.h"
#include "channels.h"
#include "modules.h"
-#include "helperfuncs.h"
+
#include "inspircd.h"
/* $ModDesc: Allows opers to set their idle time */
-static Server *Srv = NULL;
-extern InspIRCd* ServerInstance;
+
class cmd_setidle : public command_t
{
public:
- cmd_setidle () : command_t("SETIDLE", 'o', 1)
+ cmd_setidle (InspIRCd* Instance) : command_t(Instance,"SETIDLE", 'o', 1)
{
this->source = "m_setidle.so";
syntax = "<idle-seconds>";
}
- void Handle (const char** parameters, int pcnt, userrec *user)
+ CmdResult Handle (const char** parameters, int pcnt, userrec *user)
{
if (atoi(parameters[0]) < 1)
{
user->WriteServ("948 %s :Invalid idle time.",user->nick);
- return;
+ return CMD_FAILURE;
}
user->idle_lastmsg = time(NULL) - atoi(parameters[0]);
// minor tweak - we cant have signon time shorter than our idle time!
user->signon = user->idle_lastmsg;
ServerInstance->WriteOpers(std::string(user->nick)+" used SETIDLE to set their idle time to "+std::string(parameters[0])+" seconds");
user->WriteServ("944 %s :Idle time set.",user->nick);
+
+ return CMD_SUCCESS;
}
};
: Module::Module(Me)
{
- mycommand = new cmd_setidle();
- Srv->AddCommand(mycommand);
+ mycommand = new cmd_setidle(ServerInstance);
+ ServerInstance->AddCommand(mycommand);
}
virtual ~ModuleSetIdle()