summaryrefslogtreecommitdiff
path: root/src/modules/m_operjoin.cpp
diff options
context:
space:
mode:
authortypobox43 <typobox43@e03df62e-2008-0410-955e-edbf42e46eb7>2004-07-17 23:02:09 +0000
committertypobox43 <typobox43@e03df62e-2008-0410-955e-edbf42e46eb7>2004-07-17 23:02:09 +0000
commitca5af9f34d3bce42335e70572a763094064cfd4b (patch)
tree5bedce5e2e3e733f4b114f7f83041d3a84988122 /src/modules/m_operjoin.cpp
parentb26cfca8bd1aab97e479299e5bff7273437c7419 (diff)
Initial commit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@844 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/modules/m_operjoin.cpp')
-rw-r--r--src/modules/m_operjoin.cpp76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/modules/m_operjoin.cpp b/src/modules/m_operjoin.cpp
new file mode 100644
index 000000000..587793acb
--- /dev/null
+++ b/src/modules/m_operjoin.cpp
@@ -0,0 +1,76 @@
+// operjoin module by typobox43
+
+#include "users.h"
+#include "channels.h"
+#include "modules.h"
+
+/* $ModDesc: Forces opers to join a specified channel on oper-up */
+
+Server *Srv;
+
+class ModuleOperjoin : public Module {
+
+ private:
+
+ std::string operChan;
+ ConfigReader* conf;
+
+ public:
+
+ ModuleOperjoin() {
+
+ Srv = new Server;
+ conf = new ConfigReader;
+
+ operChan = conf->ReadValue("operjoin", "channel", 0);
+
+ }
+
+ virtual ~ModuleOperjoin() {
+
+ delete Srv;
+ delete conf;
+
+ }
+
+ virtual Version GetVersion() {
+
+ return Version(1,0,0,1);
+
+ }
+
+ virtual void OnOper(userrec* user) {
+
+ if(operChan != "") {
+
+ Srv->JoinUserToChannel(user,operChan,"");
+
+ }
+
+ }
+
+};
+
+class ModuleOperjoinFactory : public ModuleFactory
+{
+ public:
+ ModuleOperjoinFactory()
+ {
+ }
+
+ ~ModuleOperjoinFactory()
+ {
+ }
+
+ virtual Module * CreateModule()
+ {
+ return new ModuleOperjoin;
+ }
+
+};
+
+extern "C" void * init_module( void )
+{
+ return new ModuleOperjoinFactory;
+}
+