summaryrefslogtreecommitdiff
path: root/src/commands/cmd_modenotice.cpp
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-11-03 01:14:12 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-11-03 01:14:12 +0000
commit0f74e88f0996acff1580bcf5f2ea3dc986497339 (patch)
tree68bc797c1a7f54a91d7f3156807556f4e1be2a5d /src/commands/cmd_modenotice.cpp
parent7746307ab638030a4b0a8c2c3b4c577f380e29bb (diff)
Move MODENOTICE command to a command module
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11991 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/commands/cmd_modenotice.cpp')
-rw-r--r--src/commands/cmd_modenotice.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/commands/cmd_modenotice.cpp b/src/commands/cmd_modenotice.cpp
new file mode 100644
index 000000000..3cf4e28d0
--- /dev/null
+++ b/src/commands/cmd_modenotice.cpp
@@ -0,0 +1,45 @@
+/* +------------------------------------+
+ * | Inspire Internet Relay Chat Daemon |
+ * +------------------------------------+
+ *
+ * InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
+ *
+ * This program is free but copyrighted software; see
+ * the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
+
+#include "inspircd.h"
+
+class CommandModeNotice : public Command
+{
+ public:
+ CommandModeNotice(Module* parent) : Command(parent,"MODENOTICE",2,2) { syntax = "<modes> <message>"; }
+
+ CmdResult Handle(const std::vector<std::string>& parameters, User *src)
+ {
+ int mlen = parameters[0].length();
+ for (std::vector<LocalUser*>::const_iterator i = ServerInstance->Users->local_users.begin(); i != ServerInstance->Users->local_users.end(); i++)
+ {
+ User* user = *i;
+ for (int n = 0; n < mlen; n++)
+ {
+ if (!user->IsModeSet(parameters[0][n]))
+ goto next_user;
+ }
+ user->Write(":%s NOTICE %s :*** From %s: %s", ServerInstance->Config->ServerName.c_str(),
+ user->nick.c_str(), src->nick.c_str(), parameters[1].c_str());
+next_user: ;
+ }
+ return CMD_SUCCESS;
+ }
+
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters)
+ {
+ return ROUTE_BROADCAST;
+ }
+};
+
+COMMAND_INIT(CommandModeNotice)