summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_testcommand.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/modules/m_testcommand.cpp b/src/modules/m_testcommand.cpp
index ad7afbc97..3b6b646a9 100644
--- a/src/modules/m_testcommand.cpp
+++ b/src/modules/m_testcommand.cpp
@@ -53,6 +53,31 @@ class ModuleTestCommand : public Module
// anyone can issue the command, and the
// command takes only one parameter.
Srv->AddCommand("WOOT",handle_woot,0,1);
+
+ // Add a mode +Z for channels with no parameters
+ Srv->AddExtendedMode('Z',MT_CHANNEL,false,0,0);
+ }
+
+ virtual bool OnExtendedMode(userrec* user, chanrec* chan, char modechar, int type, bool mode_on, string_list &params)
+ {
+ if (modechar != 'Z') {
+ // this mode isn't ours, we have to bail and return 0 to not handle it.
+ Srv->Log(DEBUG,"Extended mode event triggered, but this is not a mode i've claimed!");
+ return 0;
+ }
+
+
+ // TODO: Add checking here - should bail with 0 value if the mode is already on or off
+ if (mode_on) {
+ Srv->Log(DEBUG,"Custom mode is being added to channel");
+ }
+ else {
+ Srv->Log(DEBUG,"Custom mode is being taken from a channel");
+ }
+ Srv->Log(DEBUG,chan->name);
+
+ // must return 1 to handle the mode!
+ return 1;
}
virtual ~ModuleTestCommand()