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