]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/modules/m_testcommand.cpp
72ca9e16ac79b3290d164fa5ee81953db76e84c4
[user/henk/code/inspircd.git] / src / modules / m_testcommand.cpp
1 #include <stdio.h>
2
3 #include "users.h"
4 #include "channels.h"
5 #include "modules.h"
6
7 /* $ModDesc: Povides a proof-of-concept test /WOOT command */
8
9 Server *Srv;
10          
11
12 void handle_woot(char **parameters, int pcnt, userrec *user)
13 {
14         // this test command just accepts:
15         // /woot :<text>
16         // and sends <text> to all opers with +s mode.
17         // NB: The ':' is *REQUIRED* otherwise the parser will
18         // split the line into multiple parameters[]!
19         Srv->SendOpers(parameters[0]);
20 }
21
22 class ModuleTestCommand : public Module
23 {
24  public:
25         ModuleTestCommand()
26         {
27                 Srv = new Server;
28                 Srv->AddCommand("WOOT",handle_woot,0,1);
29         }
30         
31         virtual ~ModuleTestCommand()
32         {
33                 delete Srv;
34         }
35         
36         virtual Version GetVersion()
37         {
38                 return Version(1,0,0,0);
39         }
40         
41         virtual void OnUserConnect(userrec* user)
42         {
43         }
44
45 };
46
47
48 class ModuleTestCommandFactory : public ModuleFactory
49 {
50  public:
51         ModuleTestCommandFactory()
52         {
53         }
54         
55         ~ModuleTestCommandFactory()
56         {
57         }
58         
59         virtual Module * CreateModule()
60         {
61                 return new ModuleTestCommand;
62         }
63         
64 };
65
66
67 extern "C" void * init_module( void )
68 {
69         return new ModuleTestCommandFactory;
70 }
71