]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/modules/m_operjoin.cpp
Initial commit
[user/henk/code/inspircd.git] / src / modules / m_operjoin.cpp
1 // operjoin module by typobox43
2
3 #include "users.h"
4 #include "channels.h"
5 #include "modules.h"
6
7 /* $ModDesc: Forces opers to join a specified channel on oper-up */
8
9 Server *Srv;
10
11 class ModuleOperjoin : public Module {
12
13         private:
14
15                 std::string operChan;
16                 ConfigReader* conf;
17
18         public:
19
20                 ModuleOperjoin() {
21
22                         Srv = new Server;
23                         conf = new ConfigReader;
24
25                         operChan = conf->ReadValue("operjoin", "channel", 0);
26
27                 }
28
29                 virtual ~ModuleOperjoin() {
30
31                         delete Srv;
32                         delete conf;
33
34                 }
35
36                 virtual Version GetVersion() {
37
38                         return Version(1,0,0,1);
39
40                 }
41
42                 virtual void OnOper(userrec* user) {
43
44                         if(operChan != "") {
45
46                                 Srv->JoinUserToChannel(user,operChan,"");
47
48                         }
49
50                 }
51
52 };
53
54 class ModuleOperjoinFactory : public ModuleFactory
55 {
56  public:
57         ModuleOperjoinFactory()
58         {
59         }
60
61         ~ModuleOperjoinFactory()
62         {
63         }
64
65         virtual Module * CreateModule()
66         {
67                 return new ModuleOperjoin;
68         }
69
70 };
71
72 extern "C" void * init_module( void )
73 {
74         return new ModuleOperjoinFactory;
75 }
76