Add CModule::OnUnknownModCommand()

This module hook is called to generate messages for unknown commands. This hook
has a default implementation that actually does something!

Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Uli Schlachter
2011-02-21 11:50:07 +01:00
parent ebd7e53d7f
commit 8e59fb957c
2 changed files with 17 additions and 1 deletions

View File

@@ -431,6 +431,8 @@ bool CModule::HandleCommand(const CString& sLine) {
return true;
}
OnUnknownModCommand(sLine);
return false;
}
@@ -478,10 +480,17 @@ void CModule::OnMode(const CNick& OpNick, CChan& Channel, char uMode, const CStr
CModule::EModRet CModule::OnRaw(CString& sLine) { return CONTINUE; }
CModule::EModRet CModule::OnStatusCommand(CString& sCommand) { return CONTINUE; }
void CModule::OnModCommand(const CString& sCommand) { HandleCommand(sCommand); }
void CModule::OnModNotice(const CString& sMessage) {}
void CModule::OnModCTCP(const CString& sMessage) {}
void CModule::OnModCommand(const CString& sCommand) {
HandleCommand(sCommand);
}
void CModule::OnUnknownModCommand(const CString& sLine) {
if (!m_mCommands.empty())
PutModule("Unknown command!");
}
void CModule::OnQuit(const CNick& Nick, const CString& sMessage, const vector<CChan*>& vChans) {}
void CModule::OnNick(const CNick& Nick, const CString& sNewNick, const vector<CChan*>& vChans) {}
void CModule::OnKick(const CNick& Nick, const CString& sKickedNick, CChan& Channel, const CString& sMessage) {}

View File

@@ -494,6 +494,13 @@ public:
* @param sCommand The command that was sent.
*/
virtual void OnModCommand(const CString& sCommand);
/** This is similar to OnModCommand(), but it is only called if
* HandleCommand didn't find any that wants to handle this. This is only
* called if HandleCommand() is called, which practically means that
* this is only called if you don't overload OnModCommand().
* @param sCommand The command that was sent.
*/
virtual void OnUnknownModCommand(const CString& sCommand);
/** Called when a your module nick was sent a notice.
* @param sMessage The message which was sent.
*/