#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!
if (user->signon > user->idle_lastmsg)
user->signon = user->idle_lastmsg;
- ServerInstance->WriteOpers(std::string(user->nick)+" used SETIDLE to set their idle time to "+std::string(parameters[0])+" seconds");
+ ServerInstance->WriteOpers(std::string(user->nick)+" used SETIDLE to set their idle time to "+ConvToStr(atoi(parameters[0]))+" seconds");
user->WriteServ("944 %s :Idle time set.",user->nick);
+
+ return CMD_SUCCESS;
}
};
{
cmd_setidle* mycommand;
public:
- ModuleSetIdle(Server* Me)
+ ModuleSetIdle(InspIRCd* Me)
: Module::Module(Me)
{
- Srv = Me;
- mycommand = new cmd_setidle();
- Srv->AddCommand(mycommand);
+
+ mycommand = new cmd_setidle(ServerInstance);
+ ServerInstance->AddCommand(mycommand);
}
virtual ~ModuleSetIdle()
{
}
- virtual Module * CreateModule(Server* Me)
+ virtual Module * CreateModule(InspIRCd* Me)
{
return new ModuleSetIdle(Me);
}