From e8a1570ed9f7b839a361169c141956978348acf8 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 20 Jun 2010 14:04:17 -0400 Subject: Added m_helpchan to replace the cores helpchannel functionality --- src/modules/m_helpchan.cpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/modules/m_helpchan.cpp (limited to 'src/modules') diff --git a/src/modules/m_helpchan.cpp b/src/modules/m_helpchan.cpp new file mode 100644 index 000000000..6255d5012 --- /dev/null +++ b/src/modules/m_helpchan.cpp @@ -0,0 +1,48 @@ +/* + * (C) 2003-2010 Anope Team + * Contact us at team@anope.org + * + * Please read COPYING and README for further details. + */ + +#include "module.h" + +class HelpChannel : public Module +{ + ci::string HelpChan; + + public: + HelpChannel(const std::string &modname, const std::string &creator) : Module(modname, creator) + { + this->SetAuthor("Anope"); + this->SetVersion(VERSION_STRING); + this->SetType(SUPPORTED); + + Implementation i[] = { I_OnChannelModeSet, I_OnReload }; + ModuleManager::Attach(i, this, 2); + + OnReload(true); + } + + EventReturn OnChannelModeSet(Channel *c, ChannelModeName Name, const std::string ¶m) + { + if (Name == CMODE_OP && c && c->ci && c->name == this->HelpChan) + { + User *u = finduser(param); + + if (u) + u->SetMode(OperServ, UMODE_HELPOP); + } + + return EVENT_CONTINUE; + } + + void OnReload(bool) + { + ConfigReader config; + + this->HelpChan = config.ReadValue("m_helpchan", "helpchannel", "", 0).c_str(); + } +}; + +MODULE_INIT(HelpChannel) -- cgit