summaryrefslogtreecommitdiff
path: root/modules/core/gl_help.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-04-22 03:16:11 -0400
committerAdam <Adam@anope.org>2011-05-16 04:06:17 -0400
commitc8c23158a4ff74822d6c7d201dc53d879e3d91e8 (patch)
tree4bc9ae029691d5e7c03ebc1481683a010b733844 /modules/core/gl_help.cpp
parent1782ce260c5bc214ec0b2e39257ab1371b68ae9c (diff)
Moved the core pseudo clients out into their own modules
Diffstat (limited to 'modules/core/gl_help.cpp')
-rw-r--r--modules/core/gl_help.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/modules/core/gl_help.cpp b/modules/core/gl_help.cpp
new file mode 100644
index 000000000..ea67a8efc
--- /dev/null
+++ b/modules/core/gl_help.cpp
@@ -0,0 +1,58 @@
+/* Global 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"
+#include "global.h"
+
+class CommandGLHelp : public Command
+{
+ public:
+ CommandGLHelp() : Command("HELP", 1, 1)
+ {
+ this->SetDesc(_("Displays this list and give information about commands"));
+ }
+
+ CommandReturn Execute(CommandSource &source, const std::vector<Anope::string> &params)
+ {
+ mod_help_cmd(global->Bot(), source.u, NULL, params[0]);
+ return MOD_CONT;
+ }
+
+ void OnSyntaxError(CommandSource &source, const Anope::string &subcommand)
+ {
+ User *u = source.u;
+ source.Reply(_("%s commands:"), Config->s_Global.c_str());
+ for (CommandMap::const_iterator it = global->Bot()->Commands.begin(), it_end = global->Bot()->Commands.end(); it != it_end; ++it)
+ if (!Config->HidePrivilegedCommands || it->second->permission.empty() || u->HasCommand(it->second->permission))
+ it->second->OnServHelp(source);
+ }
+};
+
+class GLHelp : public Module
+{
+ CommandGLHelp commandoshelp;
+
+ public:
+ GLHelp(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator)
+ {
+ this->SetAuthor("Anope");
+ this->SetType(CORE);
+
+ if (!global)
+ throw ModuleException("Global is not loaded!");
+
+ this->AddCommand(global->Bot(), &commandoshelp);
+ }
+};
+
+MODULE_INIT(GLHelp)