CmdResult Handle (const std::vector<std::string>& parameters, User *user)
{
User* dest = ServerInstance->FindNick(parameters[0]);
- if (dest)
+ if ((dest) && (!IS_SERVER(dest)))
{
if (ServerInstance->ULine(dest->server))
{
// Pass the command on, so the client's server can quit it properly.
if (!IS_LOCAL(dest))
return CMD_SUCCESS;
-
- ServerInstance->SNO->WriteGlobalSno('a', std::string(user->nick)+" used SAQUIT to make "+std::string(dest->nick)+" quit with a reason of "+parameters[1]);
+
+ ServerInstance->SNO->WriteGlobalSno('a', user->nick+" used SAQUIT to make "+dest->nick+" quit with a reason of "+parameters[1]);
ServerInstance->Users->QuitUser(dest, parameters[1]);
return CMD_SUCCESS;
ModuleSaquit()
: cmd(this)
{
- ServerInstance->AddCommand(&cmd);
}
- virtual ~ModuleSaquit()
+ void init()
{
+ ServerInstance->Modules->AddService(cmd);
}
virtual Version GetVersion()
{
return Version("Provides support for an SAQUIT command, exits user with a reason", VF_OPTCOMMON | VF_VENDOR);
}
-
};
MODULE_INIT(ModuleSaquit)
+