diff options
author | Adam <Adam@anope.org> | 2013-04-10 22:26:40 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2013-04-10 22:26:40 -0500 |
commit | 207c46c871e85b55ae66acc456c6bc412c0c79f9 (patch) | |
tree | 27b07dc9d1e0ee068872ec7841920eea9b846b65 /modules/bs_autoassign.cpp | |
parent | 957cb2bf93d77a5ebb97d945b0656bd1e7bec164 (diff) |
Move some of the modules in extras/ that arent really extra out of extras. Mark our modules as VENDOR and allow modules to have multple types.
Diffstat (limited to 'modules/bs_autoassign.cpp')
-rw-r--r-- | modules/bs_autoassign.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/modules/bs_autoassign.cpp b/modules/bs_autoassign.cpp new file mode 100644 index 000000000..13bde5ff5 --- /dev/null +++ b/modules/bs_autoassign.cpp @@ -0,0 +1,48 @@ +/* + * + * (C) 2003-2013 Anope Team + * Contact us at team@anope.org + * + * Please read COPYING and README for further details. + * + */ + +#include "module.h" + +class BSAutoAssign : public Module +{ + Anope::string bot; + + public: + BSAutoAssign(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR) + { + + Implementation i[] = { I_OnChanRegistered, I_OnReload }; + ModuleManager::Attach(i, this, sizeof(i) / sizeof(Implementation)); + + this->OnReload(); + } + + void OnChanRegistered(ChannelInfo *ci) anope_override + { + if (this->bot.empty()) + return; + + BotInfo *bi = BotInfo::Find(this->bot); + if (bi == NULL) + { + Log(this) << "bs_autoassign is configured to assign bot " << this->bot << ", but it does not exist?"; + return; + } + + bi->Assign(NULL, ci); + } + + void OnReload() anope_override + { + ConfigReader config; + this->bot = config.ReadValue("bs_autoassign", "bot", "", 0); + } +}; + +MODULE_INIT(BSAutoAssign) |