diff --git a/modules/kickrejoin.cpp b/modules/kickrejoin.cpp index d9e42cc9..4f1e709b 100644 --- a/modules/kickrejoin.cpp +++ b/modules/kickrejoin.cpp @@ -50,7 +50,11 @@ private: unsigned int delay; public: - MODCONSTRUCTOR(CRejoinMod) {} + MODCONSTRUCTOR(CRejoinMod) { + AddHelpCommand(); + AddCommand("SetDelay", static_cast(&CRejoinMod::OnSetDelayCommand), "", "Set the rejoin delay"); + AddCommand("ShowDelay", static_cast(&CRejoinMod::OnShowDelayCommand), "", "Show the rejoin delay"); + } virtual ~CRejoinMod() {} virtual bool OnLoad(const CString& sArgs, CString& sErrorMsg) { @@ -75,33 +79,29 @@ public: return true; } - virtual void OnModCommand(const CString& sCommand) { - CString sCmdName = sCommand.Token(0).AsLower(); + void OnSetDelayCommand(const CString& sCommand) { + int i; + i = sCommand.Token(1).ToInt(); - if (sCmdName == "setdelay") { - int i; - i = sCommand.Token(1).ToInt(); - - if (i < 0) { - PutModule("Negative delays don't make any sense!"); - return; - } - - delay = i; - SetNV("delay", CString(delay)); - - if (delay) - PutModule("Rejoin delay set to " + CString(delay) + " seconds"); - else - PutModule("Rejoin delay disabled"); - } else if (sCmdName == "showdelay") { - if (delay) - PutModule("Rejoin delay enabled, " + CString(delay) + " seconds"); - else - PutModule("Rejoin delay disabled"); - } else { - PutModule("Commands: setdelay , showdelay"); + if (i < 0) { + PutModule("Negative delays don't make any sense!"); + return; } + + delay = i; + SetNV("delay", CString(delay)); + + if (delay) + PutModule("Rejoin delay set to " + CString(delay) + " seconds"); + else + PutModule("Rejoin delay disabled"); + } + + void OnShowDelayCommand(const CString& sCommand) { + if (delay) + PutModule("Rejoin delay enabled, " + CString(delay) + " seconds"); + else + PutModule("Rejoin delay disabled"); } virtual void OnKick(const CNick& OpNick, const CString& sKickedNick, CChan& pChan, const CString& sMessage) {