Add OnUserTopicRequest() for topic requests

OnUserTopic() used to try to handle this, but it really failed to...


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1185 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
psychon
2008-09-02 12:39:18 +00:00
parent 41fce82fc8
commit 0316c6a1df
3 changed files with 11 additions and 13 deletions
+7 -13
View File
@@ -251,20 +251,14 @@ void CClient::ReadLine(const CString& sData) {
} else if (sCommand.CaseCmp("TOPIC") == 0) {
CString sChan = sLine.Token(1);
CString sTopic = sLine.Token(2, true);
bool bUnset = false;
if (sTopic.Left(1) == ":") {
sTopic.LeftChomp();
if (sTopic.empty())
bUnset = true;
}
MODULECALL(OnUserTopic(sChan, sTopic), m_pUser, this, return);
sLine = "TOPIC " + sChan;
if (!sTopic.empty() || bUnset) {
sLine += " :" + sTopic;
if (!sTopic.empty()) {
if (sTopic.Left(1) == ":")
sTopic.LeftChomp();
MODULECALL(OnUserTopic(sChan, sTopic), m_pUser, this, return);
sLine = "TOPIC " + sChan + " :" + sTopic;
} else {
MODULECALL(OnUserTopicRequest(sChan), m_pUser, this, return);
}
} else if (sCommand.CaseCmp("MODE") == 0) {
CString sTarget = sLine.Token(1);
+2
View File
@@ -485,6 +485,7 @@ CModule::EModRet CModule::OnUserNotice(CString& sTarget, CString& sMessage) { re
CModule::EModRet CModule::OnUserJoin(CString& sChannel, CString& sKey) { return CONTINUE; }
CModule::EModRet CModule::OnUserPart(CString& sChannel, CString& sMessage) { return CONTINUE; }
CModule::EModRet CModule::OnUserTopic(CString& sChannel, CString& sTopic) { return CONTINUE; }
CModule::EModRet CModule::OnUserTopicRequest(CString& sChannel) { return CONTINUE; }
CModule::EModRet CModule::OnCTCPReply(CNick& Nick, CString& sMessage) { return CONTINUE; }
CModule::EModRet CModule::OnPrivCTCP(CNick& Nick, CString& sMessage) { return CONTINUE; }
@@ -595,6 +596,7 @@ bool CModules::OnUserNotice(CString& sTarget, CString& sMessage) { MODHALTCHK(On
bool CModules::OnUserJoin(CString& sChannel, CString& sKey) { MODHALTCHK(OnUserJoin(sChannel, sKey)); }
bool CModules::OnUserPart(CString& sChannel, CString& sMessage) { MODHALTCHK(OnUserPart(sChannel, sMessage)); }
bool CModules::OnUserTopic(CString& sChannel, CString& sTopic) { MODHALTCHK(OnUserTopic(sChannel, sTopic)); }
bool CModules::OnUserTopicRequest(CString& sChannel) { MODHALTCHK(OnUserTopicRequest(sChannel)); }
bool CModules::OnQuit(const CNick& Nick, const CString& sMessage, const vector<CChan*>& vChans) { MODUNLOADCHK(OnQuit(Nick, sMessage, vChans)); return false; }
bool CModules::OnNick(const CNick& Nick, const CString& sNewNick, const vector<CChan*>& vChans) { MODUNLOADCHK(OnNick(Nick, sNewNick, vChans)); return false; }
+2
View File
@@ -264,6 +264,7 @@ public:
virtual EModRet OnUserJoin(CString& sChannel, CString& sKey);
virtual EModRet OnUserPart(CString& sChannel, CString& sMessage);
virtual EModRet OnUserTopic(CString& sChannel, CString& sTopic);
virtual EModRet OnUserTopicRequest(CString& sChannel);
virtual EModRet OnCTCPReply(CNick& Nick, CString& sMessage);
virtual EModRet OnPrivCTCP(CNick& Nick, CString& sMessage);
@@ -403,6 +404,7 @@ public:
virtual bool OnUserJoin(CString& sChannel, CString& sKey);
virtual bool OnUserPart(CString& sChannel, CString& sMessage);
virtual bool OnUserTopic(CString& sChannel, CString& sTopic);
virtual bool OnUserTopicRequest(CString& sChannel);
virtual bool OnCTCPReply(CNick& Nick, CString& sMessage);
virtual bool OnPrivCTCP(CNick& Nick, CString& sMessage);