diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-12-16 18:39:53 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-12-16 18:39:53 +0000 |
commit | a5a8764bfe85e208a622a86295bdf56da575f21c (patch) | |
tree | 71ec4300375ac6f861a24f185a44ae95fc0b71a9 /src/modules/m_testcommand.cpp | |
parent | 2e2d1fae4844088f7e0b9a71116e0eb3e149e4cc (diff) |
Added support for new command system
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2537 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_testcommand.cpp')
-rw-r--r-- | src/modules/m_testcommand.cpp | 48 |
1 files changed, 29 insertions, 19 deletions
diff --git a/src/modules/m_testcommand.cpp b/src/modules/m_testcommand.cpp index de13cca17..15405d80c 100644 --- a/src/modules/m_testcommand.cpp +++ b/src/modules/m_testcommand.cpp @@ -25,28 +25,37 @@ using namespace std; Server *Srv; - -void handle_woot(char **parameters, int pcnt, userrec *user) +class cmd_woot : public command_t { - Srv->Log(DEBUG,"woot handler"); - // Here is a sample of how to send servermodes. Note that unless remote - // servers in your net are u:lined, they may reverse this, but its a - // quick and effective modehack. - - // NOTE: DO NOT CODE LIKE THIS!!! This has no checks and can send - // invalid or plain confusing mode changes, code some checking! - char* modes[3]; - modes[0] = "#chatspike"; - modes[1] = "+o"; - modes[2] = user->nick; - - // run the mode change, send numerics (such as "no such channel") back - // to "user". - Srv->SendMode(modes,3,user); -} + public: + cmd_woot () : command_t("WOOT", 0, 0); + { + this->source = "m_testcommand.so"; + } + + void Handle (char **parameters, int pcnt, userrec *user) + { + Srv->Log(DEBUG,"woot handler"); + // Here is a sample of how to send servermodes. Note that unless remote + // servers in your net are u:lined, they may reverse this, but its a + // quick and effective modehack. + + // NOTE: DO NOT CODE LIKE THIS!!! This has no checks and can send + // invalid or plain confusing mode changes, code some checking! + char* modes[3]; + modes[0] = "#chatspike"; + modes[1] = "+o"; + modes[2] = user->nick; + + // run the mode change, send numerics (such as "no such channel") back + // to "user". + Srv->SendMode(modes,3,user); + } +}; class ModuleTestCommand : public Module { + cmd_woot* newcommand; public: ModuleTestCommand(Server* Me) : Module::Module(Me) @@ -58,7 +67,8 @@ class ModuleTestCommand : public Module // 0 in the modes parameter signifies that // anyone can issue the command, and the // command takes only one parameter. - Srv->AddCommand("WOOT",handle_woot,0,0,"m_testcommand.so"); + newcommand = new cmd_woot(); + Srv->AddCommand(mycommand); // Add a mode +Z for channels with no parameters Srv->AddExtendedMode('Z',MT_CHANNEL,false,1,0); |