diff options
author | Adam <Adam@anope.org> | 2011-07-14 19:11:13 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-07-14 19:11:13 -0400 |
commit | ef75e171bc33df3410e88970e0b6bcfcf8e5993b (patch) | |
tree | 523313ddf92b8dc9a5de9f8f849e032190b4792a | |
parent | 5bf7dee559dd576b454537aec439c56c75e556dc (diff) |
Added bs_autoassign
-rw-r--r-- | data/modules.example.conf | 14 | ||||
-rw-r--r-- | modules/extra/bs_autoassign.cpp | 51 |
2 files changed, 65 insertions, 0 deletions
diff --git a/data/modules.example.conf b/data/modules.example.conf index 51f9f32f9..a604e2b83 100644 --- a/data/modules.example.conf +++ b/data/modules.example.conf @@ -8,6 +8,20 @@ */ /* + * bs_autoassign + * + * Allows service bots to be automatically assigned to channels upon registration. + */ +#module { name = "bs_autoassign" } +bs_autoassign +{ + /* + * Automatically assign ChanServ to channels upon registration. + */ + bot = "ChanServ" +} + +/* * cs_appendtopic * * Adds the APPENDTOPIC command to ChanServ, which allows users to easially append text to diff --git a/modules/extra/bs_autoassign.cpp b/modules/extra/bs_autoassign.cpp new file mode 100644 index 000000000..9e98b5c95 --- /dev/null +++ b/modules/extra/bs_autoassign.cpp @@ -0,0 +1,51 @@ +/* + * + * (C) 2003-2011 Anope Team + * Contact us at team@anope.org + * + * Please read COPYING and README for further details. + * + * Based on the original code of Epona by Lara. + * Based on the original code of Services by Andy Church. + */ + +#include "module.h" + +class BSAutoAssign : public Module +{ + Anope::string bot; + + public: + BSAutoAssign(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, SUPPORTED) + { + this->SetAuthor("Anope"); + + Implementation i[] = { I_OnChanRegistered, I_OnReload }; + ModuleManager::Attach(i, this, 2); + + this->OnReload(); + } + + void OnChanRegistered(ChannelInfo *ci) + { + if (this->bot.empty()) + return; + + BotInfo *bi = findbot(this->bot); + if (bi == NULL) + { + Log() << "bs_autoassign is configured to assign bot " << this->bot << ", but it does not exist?"; + return; + } + + bi->Assign(NULL, ci); + } + + void OnReload() + { + ConfigReader config; + this->bot = config.ReadValue("bs_autoassign", "bot", "", 0); + } +}; + +MODULE_INIT(BSAutoAssign) |