From 7110a0e00b6129545fcc13ac0cb8a54c35ca24c8 Mon Sep 17 00:00:00 2001 From: Sadie Powell Date: Mon, 27 Feb 2023 11:05:21 +0000 Subject: Split the help mode out from the helpop module. --- src/modules/m_helpmode.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ src/modules/m_helpop.cpp | 13 +------------ 2 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 src/modules/m_helpmode.cpp (limited to 'src/modules') 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 + * + * 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 . + */ + + +#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) -- cgit v1.3.1-10-gc9f91