From d3f42cabebdd182a8a4e2933f51ec594304a249c Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Sat, 5 Sep 2015 02:51:08 +0200 Subject: [PATCH] CIRCSock::OnInviteMessage() handler --- include/znc/IRCSock.h | 1 + src/IRCSock.cpp | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/include/znc/IRCSock.h b/include/znc/IRCSock.h index 9e5e587f..059c4eec 100644 --- a/include/znc/IRCSock.h +++ b/include/znc/IRCSock.h @@ -53,6 +53,7 @@ public: bool OnActionMessage(CActionMessage& Message); bool OnAwayMessage(CMessage& Message); bool OnCTCPMessage(CCTCPMessage& Message); + bool OnInviteMessage(CMessage& Message); bool OnJoinMessage(CJoinMessage& Message); bool OnKickMessage(CKickMessage& Message); bool OnNickMessage(CNickMessage& Message); diff --git a/src/IRCSock.cpp b/src/IRCSock.cpp index d5da674c..99f79b9e 100644 --- a/src/IRCSock.cpp +++ b/src/IRCSock.cpp @@ -663,8 +663,9 @@ void CIRCSock::ReadLine(const CString& sData) { // Don't forward any CAP stuff to the client return; } else if (Message.GetType() == CMessage::Type::Invite) { - IRCSOCKMODULECALL(OnInvite(Nick, sLine.Token(3).TrimPrefix_n(":")), &bReturn); - if (bReturn) return; + if (OnInviteMessage(Message)) { + return; + } } else if (Message.GetType() == CMessage::Type::Away) { if (OnAwayMessage(Message)) { return; @@ -846,6 +847,12 @@ bool CIRCSock::OnCTCPMessage(CCTCPMessage& Message) { return (pChan && pChan->IsDetached()); } +bool CIRCSock::OnInviteMessage(CMessage& Message) { + bool bResult = false; + IRCSOCKMODULECALL(OnInvite(Message.GetNick(), Message.GetParam(1)), &bResult); + return bResult; +} + bool CIRCSock::OnJoinMessage(CJoinMessage& Message) { const CNick& Nick = Message.GetNick(); CString sChan = Message.GetParam(0);