mirror of
https://github.com/znc/znc.git
synced 2026-08-06 17:03:14 +02:00
Add missing CModules::OnCTCPReplyMessage()
This commit is contained in:
@@ -49,7 +49,7 @@ public:
|
||||
} EChanModeArgs;
|
||||
|
||||
// Message Handlers
|
||||
bool OnCTCPReply(CNick& Nick, CString& sMessage);
|
||||
bool OnCTCPReply(CMessage& Message);
|
||||
bool OnPrivCTCP(CMessage& Message);
|
||||
bool OnChanCTCP(CMessage& Message);
|
||||
bool OnGeneralCTCP(CMessage& Message);
|
||||
|
||||
@@ -762,6 +762,7 @@ public:
|
||||
* @return See CModule::EModRet.
|
||||
*/
|
||||
virtual EModRet OnCTCPReply(CNick& Nick, CString& sMessage);
|
||||
virtual EModRet OnCTCPReplyMessage(CCTCPMessage& Message);
|
||||
/** Called when we receive a private CTCP request <em>from IRC</em>.
|
||||
* @param Nick The nick the CTCP request is from.
|
||||
* @param sMessage The CTCP request message.
|
||||
@@ -1263,6 +1264,7 @@ public:
|
||||
bool OnUserQuitMessage(CQuitMessage& Message);
|
||||
|
||||
bool OnCTCPReply(CNick& Nick, CString& sMessage);
|
||||
bool OnCTCPReplyMessage(CCTCPMessage& Message);
|
||||
bool OnPrivCTCP(CNick& Nick, CString& sMessage);
|
||||
bool OnPrivCTCPMessage(CCTCPMessage& Message);
|
||||
bool OnChanCTCP(CNick& Nick, CChan& Channel, CString& sMessage);
|
||||
|
||||
+4
-9
@@ -707,17 +707,11 @@ void CIRCSock::ReadLine(const CString& sData) {
|
||||
CString sMsg = Message.GetParam(1);
|
||||
|
||||
if (sMsg.WildCmp("\001*\001")) {
|
||||
sMsg.LeftChomp();
|
||||
sMsg.RightChomp();
|
||||
|
||||
if (sTarget.Equals(GetNick())) {
|
||||
if (OnCTCPReply(Nick, sMsg)) {
|
||||
if (OnCTCPReply(Message)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
m_pNetwork->PutUser(":" + Nick.GetNickMask() + " NOTICE " + sTarget + " :\001" + sMsg + "\001");
|
||||
return;
|
||||
} else {
|
||||
if (sTarget.Equals(GetNick())) {
|
||||
if (OnPrivNotice(Message)) {
|
||||
@@ -909,9 +903,10 @@ bool CIRCSock::OnServerCapAvailable(const CString& sCap) {
|
||||
return bResult;
|
||||
}
|
||||
|
||||
bool CIRCSock::OnCTCPReply(CNick& Nick, CString& sMessage) {
|
||||
bool CIRCSock::OnCTCPReply(CMessage& Message) {
|
||||
CCTCPMessage& CTCP = static_cast<CCTCPMessage&>(Message);
|
||||
bool bResult = false;
|
||||
IRCSOCKMODULECALL(OnCTCPReply(Nick, sMessage), &bResult);
|
||||
IRCSOCKMODULECALL(OnCTCPReplyMessage(CTCP), &bResult);
|
||||
|
||||
return bResult;
|
||||
}
|
||||
|
||||
@@ -766,6 +766,12 @@ CModule::EModRet CModule::OnUserQuitMessage(CQuitMessage& Message) {
|
||||
}
|
||||
|
||||
CModule::EModRet CModule::OnCTCPReply(CNick& Nick, CString& sMessage) { return CONTINUE; }
|
||||
CModule::EModRet CModule::OnCTCPReplyMessage(CCTCPMessage& Message) {
|
||||
CString sText = Message.GetText();
|
||||
EModRet ret = OnCTCPReply(Message.GetNick(), sText);
|
||||
Message.SetText(sText);
|
||||
return ret;
|
||||
}
|
||||
CModule::EModRet CModule::OnPrivCTCP(CNick& Nick, CString& sMessage) { return CONTINUE; }
|
||||
CModule::EModRet CModule::OnPrivCTCPMessage(CCTCPMessage& Message) {
|
||||
CString sText = Message.GetText();
|
||||
@@ -1011,6 +1017,7 @@ bool CModules::OnPrivBufferPlayLine(CClient& Client, CString& sLine) { MODHALTCH
|
||||
bool CModules::OnChanBufferPlayMessage(CMessage& Message) { MODHALTCHK(OnChanBufferPlayMessage(Message)); }
|
||||
bool CModules::OnPrivBufferPlayMessage(CMessage& Message) { MODHALTCHK(OnPrivBufferPlayMessage(Message)); }
|
||||
bool CModules::OnCTCPReply(CNick& Nick, CString& sMessage) { MODHALTCHK(OnCTCPReply(Nick, sMessage)); }
|
||||
bool CModules::OnCTCPReplyMessage(CCTCPMessage& Message) { MODHALTCHK(OnCTCPReplyMessage(Message)); }
|
||||
bool CModules::OnPrivCTCP(CNick& Nick, CString& sMessage) { MODHALTCHK(OnPrivCTCP(Nick, sMessage)); }
|
||||
bool CModules::OnPrivCTCPMessage(CCTCPMessage& Message) { MODHALTCHK(OnPrivCTCPMessage(Message)); }
|
||||
bool CModules::OnChanCTCP(CNick& Nick, CChan& Channel, CString& sMessage) { MODHALTCHK(OnChanCTCP(Nick, Channel, sMessage)); }
|
||||
|
||||
@@ -38,6 +38,7 @@ public:
|
||||
EModRet OnUserTopic(CString& sChannel, CString& sTopic) override { sChannel = "#legacy"; sTopic = "CLegacyModule::OnUserTopic"; return eAction; }
|
||||
EModRet OnUserQuit(CString& sMessage) override { sMessage = "CLegacyModule::OnUserQuit"; return eAction; }
|
||||
|
||||
EModRet OnCTCPReply(CNick& Nick, CString& sMessage) override { Nick.Parse("legacy!znc@znc.in"); sMessage = "CLegacyModule::OnCTCPReply"; return eAction; }
|
||||
EModRet OnPrivCTCP(CNick& Nick, CString& sMessage) override { Nick.Parse("legacy!znc@znc.in"); sMessage = "CLegacyModule::OnPrivCTCP"; return eAction; }
|
||||
EModRet OnChanCTCP(CNick& Nick, CChan& Channel, CString& sMessage) override { Nick.Parse("legacy!znc@znc.in"); sMessage = "CLegacyModule::OnChanCTCP"; return eAction; }
|
||||
EModRet OnPrivAction(CNick& Nick, CString& sMessage) override { Nick.Parse("legacy!znc@znc.in"); sMessage = "CLegacyModule::OnPrivAction"; return eAction; }
|
||||
@@ -65,6 +66,7 @@ public:
|
||||
EModRet OnUserTopicMessage(CTopicMessage& Message) override { Message.SetTarget("#target"); Message.SetTopic("CMessageModule::OnUserTopicMessage"); return eAction; }
|
||||
EModRet OnUserQuitMessage(CQuitMessage& Message) override { Message.SetReason("CMessageModule::OnUserQuitMessage"); return eAction; }
|
||||
|
||||
EModRet OnCTCPReplyMessage(CCTCPMessage& Message) override { Message.GetNick().SetNick("nick"); Message.SetText("CMessageModule::OnCTCPReplyMessage"); return eAction; }
|
||||
EModRet OnPrivCTCPMessage(CCTCPMessage& Message) override { Message.GetNick().SetNick("nick"); Message.SetText("CMessageModule::OnPrivCTCPMessage"); return eAction; }
|
||||
EModRet OnChanCTCPMessage(CCTCPMessage& Message) override { Message.GetNick().SetNick("nick"); Message.SetText("CMessageModule::OnChanCTCPMessage"); return eAction; }
|
||||
EModRet OnPrivActionMessage(CActionMessage& Message) override { Message.GetNick().SetNick("nick"); Message.SetText("CMessageModule::OnPrivActionMessage"); return eAction; }
|
||||
@@ -175,6 +177,16 @@ TEST_F(ModulesTest, Hooks) {
|
||||
Modules.OnUserQuitMessage(UserQuitMsg);
|
||||
EXPECT_EQ("CMessageModule::OnUserQuitMessage", UserQuitMsg.GetReason());
|
||||
|
||||
CCTCPMessage CTCPReply;
|
||||
LegacyMod.eAction = CModule::HALT;
|
||||
Modules.OnCTCPReplyMessage(CTCPReply);
|
||||
EXPECT_EQ("legacy", CTCPReply.GetNick().GetNick());
|
||||
EXPECT_EQ("CLegacyModule::OnCTCPReply", CTCPReply.GetText());
|
||||
LegacyMod.eAction = CModule::CONTINUE;
|
||||
Modules.OnCTCPReplyMessage(CTCPReply);
|
||||
EXPECT_EQ("nick", CTCPReply.GetNick().GetNick());
|
||||
EXPECT_EQ("CMessageModule::OnCTCPReplyMessage", CTCPReply.GetText());
|
||||
|
||||
CCTCPMessage PrivCTCP;
|
||||
LegacyMod.eAction = CModule::HALT;
|
||||
Modules.OnPrivCTCPMessage(PrivCTCP);
|
||||
|
||||
Reference in New Issue
Block a user