diff options
author | Adam <Adam@anope.org> | 2011-08-05 05:35:31 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-08-05 05:35:31 -0400 |
commit | e66063e6304538d34c40460ca0aa2be5ddb6bdec (patch) | |
tree | f50fe31097160f8f794669809e4f4ef87f477672 /modules/core/bs_assign.cpp | |
parent | 9ec18a3b020932eee6242c878149c484f49b13cb (diff) |
Rewrote the example configurations and split them
up into seperate files for each pseudo client.
Also reorganized how the modules are stored, and
made most of the old "extra" modules "core"
Diffstat (limited to 'modules/core/bs_assign.cpp')
-rw-r--r-- | modules/core/bs_assign.cpp | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/modules/core/bs_assign.cpp b/modules/core/bs_assign.cpp deleted file mode 100644 index 803368994..000000000 --- a/modules/core/bs_assign.cpp +++ /dev/null @@ -1,168 +0,0 @@ -/* BotServ core functions - * - * (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 CommandBSAssign : public Command -{ - public: - CommandBSAssign(Module *creator) : Command(creator, "botserv/assign", 2, 2) - { - this->SetDesc(_("Assigns a bot to a channel")); - this->SetSyntax(_("\037channel\037 \037nick\037")); - } - - void Execute(CommandSource &source, const std::vector<Anope::string> ¶ms) - { - const Anope::string &chan = params[0]; - const Anope::string &nick = params[1]; - - User *u = source.u; - - if (readonly) - { - source.Reply(BOT_ASSIGN_READONLY); - return; - } - - ChannelInfo *ci = cs_findchan(params[0]); - if (ci == NULL) - { - source.Reply(CHAN_X_NOT_REGISTERED, params[0].c_str()); - return; - } - - BotInfo *bi = findbot(nick); - if (!bi) - { - source.Reply(BOT_DOES_NOT_EXIST, nick.c_str()); - return; - } - - if (ci->botflags.HasFlag(BS_NOBOT) || (!ci->HasPriv(u, CA_ASSIGN) && !u->HasPriv("botserv/administration"))) - { - source.Reply(ACCESS_DENIED); - return; - } - - if (bi->HasFlag(BI_PRIVATE) && !u->HasCommand("botserv/botserv/assign/private")) - { - source.Reply(ACCESS_DENIED); - return; - } - - if (ci->bi == bi) - { - source.Reply(_("Bot \002%s\002 is already assigned to channel \002%s\002."), ci->bi->nick.c_str(), chan.c_str()); - return; - } - - bool override = !ci->HasPriv(u, CA_ASSIGN); - Log(override ? LOG_OVERRIDE : LOG_COMMAND, u, this, ci) << "for " << bi->nick; - - bi->Assign(u, ci); - source.Reply(_("Bot \002%s\002 has been assigned to %s."), bi->nick.c_str(), ci->name.c_str()); - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - this->SendSyntax(source); - source.Reply(" "); - source.Reply(_("Assigns a bot pointed out by nick to the channel chan. You\n" - "can then configure the bot for the channel so it fits\n" - "your needs.")); - return true; - } -}; - -class CommandBSUnassign : public Command -{ - public: - CommandBSUnassign(Module *creator) : Command(creator, "botserv/unassign", 1, 1) - { - this->SetDesc(_("Unassigns a bot from a channel")); - this->SetSyntax(_("\037channel\037 \037nick\037")); - } - - void Execute(CommandSource &source, const std::vector<Anope::string> ¶ms) - { - User *u = source.u; - - if (readonly) - { - source.Reply(BOT_ASSIGN_READONLY); - return; - } - - ChannelInfo *ci = cs_findchan(params[0]); - if (ci == NULL) - { - source.Reply(CHAN_X_NOT_REGISTERED, params[0].c_str()); - return; - } - - if (!u->HasPriv("botserv/administration") && !ci->HasPriv(u, CA_ASSIGN)) - { - source.Reply(ACCESS_DENIED); - return; - } - - if (!ci->bi) - { - source.Reply(BOT_NOT_ASSIGNED); - return; - } - - if (ci->HasFlag(CI_PERSIST) && !ModeManager::FindChannelModeByName(CMODE_PERM)) - { - source.Reply(_("You can not unassign bots while persist is set on the channel.")); - return; - } - - bool override = !ci->HasPriv(u, CA_ASSIGN); - Log(override ? LOG_OVERRIDE : LOG_COMMAND, u, this, ci) << "for " << ci->bi->nick; - - ci->bi->UnAssign(u, ci); - source.Reply(_("There is no bot assigned to %s anymore."), ci->name.c_str()); - } - - bool OnHelp(CommandSource &source, const Anope::string &subcommand) - { - this->SendSyntax(source); - source.Reply(" "); - source.Reply(_("Unassigns a bot from a channel. When you use this command,\n" - "the bot won't join the channel anymore. However, bot\n" - "configuration for the channel is kept, so you will always\n" - "be able to reassign a bot later without have to reconfigure\n" - "it entirely.")); - return true; - } -}; - -class BSAssign : public Module -{ - CommandBSAssign commandbsassign; - CommandBSUnassign commandbsunassign; - - public: - BSAssign(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, CORE), - commandbsassign(this), commandbsunassign(this) - { - this->SetAuthor("Anope"); - - ModuleManager::RegisterService(&commandbsassign); - ModuleManager::RegisterService(&commandbsunassign); - } -}; - -MODULE_INIT(BSAssign) |