diff options
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/m_testcommand.cpp | 25 |
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 ¶ms) + { + 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() |