diff options
author | Adam <Adam@anope.org> | 2010-08-03 01:49:15 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-08-03 01:49:15 -0400 |
commit | 59ee16c7cb14d1ac80b9ed9b89d868af45de5ee5 (patch) | |
tree | 68e41ef54f6a77f8e8b75e80ef5eeda9a2ecdf04 /modules/core/ns_set_kill.cpp | |
parent | 7b27a4e49192645b67eddba829a588e9e6d978ee (diff) |
Made ns set/saset work like cs set/saset, cleans up a lot of code
Diffstat (limited to 'modules/core/ns_set_kill.cpp')
-rw-r--r-- | modules/core/ns_set_kill.cpp | 94 |
1 files changed, 27 insertions, 67 deletions
diff --git a/modules/core/ns_set_kill.cpp b/modules/core/ns_set_kill.cpp index 5293625cb..c85570d87 100644 --- a/modules/core/ns_set_kill.cpp +++ b/modules/core/ns_set_kill.cpp @@ -16,72 +16,7 @@ class CommandNSSetKill : public Command { public: - CommandNSSetKill() : Command("KILL", 1) - { - } - - CommandReturn Execute(User *u, const std::vector<Anope::string> ¶ms) - { - if (params[0].equals_ci("ON")) - { - u->Account()->SetFlag(NI_KILLPROTECT); - u->Account()->UnsetFlag(NI_KILL_QUICK); - u->Account()->UnsetFlag(NI_KILL_IMMED); - notice_lang(Config.s_NickServ, u, NICK_SET_KILL_ON); - } - else if (params[0].equals_ci("QUICK")) - { - u->Account()->SetFlag(NI_KILLPROTECT); - u->Account()->SetFlag(NI_KILL_QUICK); - u->Account()->UnsetFlag(NI_KILL_IMMED); - notice_lang(Config.s_NickServ, u, NICK_SET_KILL_QUICK); - } - else if (params[0].equals_ci("IMMED")) - { - if (Config.NSAllowKillImmed) - { - u->Account()->SetFlag(NI_KILLPROTECT); - u->Account()->SetFlag(NI_KILL_IMMED); - u->Account()->UnsetFlag(NI_KILL_QUICK); - notice_lang(Config.s_NickServ, u, NICK_SET_KILL_IMMED); - } - else - notice_lang(Config.s_NickServ, u, NICK_SET_KILL_IMMED_DISABLED); - } - else if (params[0].equals_ci("OFF")) - { - u->Account()->UnsetFlag(NI_KILLPROTECT); - u->Account()->UnsetFlag(NI_KILL_QUICK); - u->Account()->UnsetFlag(NI_KILL_IMMED); - notice_lang(Config.s_NickServ, u, NICK_SET_KILL_OFF); - } - else - this->OnSyntaxError(u, "KILL"); - - return MOD_CONT; - } - - bool OnHelp(User *u, const Anope::string &) - { - notice_help(Config.s_NickServ, u, NICK_HELP_SET_KILL); - return true; - } - - void OnSyntaxError(User *u, const Anope::string &) - { - syntax_error(Config.s_NickServ, u, "SET KILL", Config.NSAllowKillImmed ? NICK_SET_KILL_IMMED_SYNTAX : NICK_SET_KILL_SYNTAX); - } - - void OnServHelp(User *u) - { - notice_lang(Config.s_NickServ, u, NICK_HELP_CMD_SET_KILL); - } -}; - -class CommandNSSASetKill : public Command -{ - public: - CommandNSSASetKill() : Command("KILL", 2, 2, "nickserv/saset/kill") + CommandNSSetKill(const Anope::string &spermission = "") : Command("KILL", 2, 3, spermission) { } @@ -89,9 +24,10 @@ class CommandNSSASetKill : public Command { NickCore *nc = findcore(params[0]); if (!nc) - throw CoreException("NULL nc in CommandNSSASetKill"); + throw CoreException("NULL nc in CommandNSSetKill"); Anope::string param = params[1]; + Anope::string arg = params.size() > 2 ? params[2] : ""; if (param.equals_ci("ON")) { @@ -134,6 +70,30 @@ class CommandNSSASetKill : public Command bool OnHelp(User *u, const Anope::string &) { + notice_help(Config.s_NickServ, u, NICK_HELP_SET_KILL); + return true; + } + + void OnSyntaxError(User *u, const Anope::string &) + { + syntax_error(Config.s_NickServ, u, "SET KILL", Config.NSAllowKillImmed ? NICK_SET_KILL_IMMED_SYNTAX : NICK_SET_KILL_SYNTAX); + } + + void OnServHelp(User *u) + { + notice_lang(Config.s_NickServ, u, NICK_HELP_CMD_SET_KILL); + } +}; + +class CommandNSSASetKill : public CommandNSSetKill +{ + public: + CommandNSSASetKill() : CommandNSSetKill("nickserv/saset/kill") + { + } + + bool OnHelp(User *u, const Anope::string &) + { notice_help(Config.s_NickServ, u, NICK_HELP_SASET_KILL); return true; } |