diff --git a/IRCSock.cpp b/IRCSock.cpp
index 30a257fa..7cde49ce 100644
--- a/IRCSock.cpp
+++ b/IRCSock.cpp
@@ -761,15 +761,16 @@ bool CIRCSock::OnPrivMsg(CNick& Nick, CString& sMessage) {
bool CIRCSock::OnChanCTCP(CNick& Nick, const CString& sChan, CString& sMessage) {
CChan* pChan = m_pUser->FindChan(sChan);
if (pChan) {
+ MODULECALL(OnChanCTCP(Nick, *pChan, sMessage), m_pUser, NULL, return true);
+
// Record a /me
if (sMessage.TrimPrefix("ACTION ")) {
+ MODULECALL(OnChanAction(Nick, *pChan, sMessage), m_pUser, NULL, return true);
if (pChan->KeepBuffer() || !m_pUser->IsUserAttached() || pChan->IsDetached()) {
pChan->AddBuffer(":" + Nick.GetNickMask() + " PRIVMSG " + sChan + " :\001ACTION " + m_pUser->AddTimestamp(sMessage) + "\001");
}
- MODULECALL(OnChanAction(Nick, *pChan, sMessage), m_pUser, NULL, return true);
sMessage = "ACTION " + sMessage;
}
- MODULECALL(OnChanCTCP(Nick, *pChan, sMessage), m_pUser, NULL, return true);
}
if (OnGeneralCTCP(Nick, sMessage))
diff --git a/Modules.h b/Modules.h
index ac1c677c..2cfc5b38 100644
--- a/Modules.h
+++ b/Modules.h
@@ -556,12 +556,14 @@ public:
*/
virtual EModRet OnChanCTCP(CNick& Nick, CChan& Channel, CString& sMessage);
/** Called when we receive a private CTCP ACTION ("/me" in query) from IRC.
+ * This is called after CModule::OnPrivCTCP().
* @param Nick The nick the action came from.
* @param sMessage The action message
* @return See CModule::EModRet.
*/
virtual EModRet OnPrivAction(CNick& Nick, CString& sMessage);
/** Called when we receive a channel CTCP ACTION ("/me" in a channel) from IRC.
+ * This is called after CModule::OnChanCTCP().
* @param Nick The nick the action came from.
* @param Channel The channel the action was sent to.
* @param sMessage The action message