diff options
| author | 2023-02-27 11:05:21 +0000 | |
|---|---|---|
| committer | 2023-02-27 11:05:21 +0000 | |
| commit | 7110a0e00b6129545fcc13ac0cb8a54c35ca24c8 (patch) | |
| tree | 1e726478e710a2fa0f242ad16035da45f622eb78 /src/modules | |
| parent | Fix missing override keyword. (diff) | |
Split the help mode out from the helpop module.
Diffstat (limited to 'src/modules')
| -rw-r--r-- | src/modules/m_helpmode.cpp | 45 | ||||
| -rw-r--r-- | src/modules/m_helpop.cpp | 13 |
2 files changed, 46 insertions, 12 deletions
diff --git a/src/modules/m_helpmode.cpp b/src/modules/m_helpmode.cpp new file mode 100644 index 000000000..79da6c577 --- /dev/null +++ b/src/modules/m_helpmode.cpp @@ -0,0 +1,45 @@ +/* + * InspIRCd -- Internet Relay Chat Daemon + * + * Copyright (C) 2023 Sadie Powell <sadie@witchery.services> + * + * This file is part of InspIRCd. InspIRCd is free software: you can + * redistribute it and/or modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation, version 2. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + + +#include "inspircd.h" +#include "modules/whois.h" + +class ModuleHelpMode final + : public Module + , public Whois::EventListener +{ +private: + SimpleUserMode helpop; + +public: + ModuleHelpMode() + : Module(VF_VENDOR, "Adds user mode h (helpop) which marks a server operator as being available for help.") + , Whois::EventListener(this) + , helpop(this, "helpop", 'h', true) + { + } + + void OnWhois(Whois::Context& whois) override + { + if (whois.GetTarget()->IsModeSet(helpop)) + whois.SendLine(RPL_WHOISHELPOP, "is available for help."); + } +}; + +MODULE_INIT(ModuleHelpMode) diff --git a/src/modules/m_helpop.cpp b/src/modules/m_helpop.cpp index 5fe3026ca..5e85cb968 100644 --- a/src/modules/m_helpop.cpp +++ b/src/modules/m_helpop.cpp @@ -24,7 +24,6 @@ #include "inspircd.h" -#include "modules/whois.h" enum { @@ -92,18 +91,14 @@ public: class ModuleHelpop final : public Module - , public Whois::EventListener { private: CommandHelpop cmd; - SimpleUserMode ho; public: ModuleHelpop() - : Module(VF_VENDOR, "Adds the /HELPOP command which allows users to view help on various topics and user mode h (helpop) which marks a server operator as being available for help.") - , Whois::EventListener(this) + : Module(VF_VENDOR, "Adds the /HELPOP command which allows users to view help on various topics.") , cmd(this) - , ho(this, "helpop", 'h', true) { } @@ -172,12 +167,6 @@ public: const auto& tag = ServerInstance->Config->ConfValue("helpmsg"); cmd.nohelp = tag->getString("nohelp", "There is no help for the topic you searched for. Please try again.", 1); } - - void OnWhois(Whois::Context& whois) override - { - if (whois.GetTarget()->IsModeSet(ho)) - whois.SendLine(RPL_WHOISHELPOP, "is available for help."); - } }; MODULE_INIT(ModuleHelpop) |
