diff options
author | Naram Qashat <cyberbotx@cyberbotx.com> | 2010-06-20 18:51:03 -0400 |
---|---|---|
committer | Naram Qashat <cyberbotx@cyberbotx.com> | 2010-06-20 18:51:03 -0400 |
commit | 63d7bee2a65c6d389219e5bc09d0fdf4f357b9a1 (patch) | |
tree | 595c9c0d05539b7418b04595e231665479a2d2b0 /src/modules/m_helpchan.cpp | |
parent | 381c9c8870fad4c544f29deec22ba4be3549a731 (diff) | |
parent | e8a1570ed9f7b839a361169c141956978348acf8 (diff) |
Merge branch '1.9' of ssh://anope.git.sf.net/gitroot/anope/anope into 1.9
Conflicts:
include/config.h
Diffstat (limited to 'src/modules/m_helpchan.cpp')
-rw-r--r-- | src/modules/m_helpchan.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
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) |