mirror of
https://github.com/znc/znc.git
synced 2026-06-30 06:51:26 +02:00
Add OnUserTopic module call
Patch by SilverLeo git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1086 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
+18
@@ -222,6 +222,24 @@ void CClient::ReadLine(const CString& sData) {
|
||||
if (!sMessage.empty()) {
|
||||
sLine += " :" + sMessage;
|
||||
}
|
||||
} 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;
|
||||
}
|
||||
} else if (sCommand.CaseCmp("MODE") == 0) {
|
||||
CString sTarget = sLine.Token(1);
|
||||
CString sModes = sLine.Token(2, true);
|
||||
|
||||
@@ -520,6 +520,7 @@ CModule::EModRet CModule::OnUserMsg(CString& sTarget, CString& sMessage) { retur
|
||||
CModule::EModRet CModule::OnUserNotice(CString& sTarget, CString& sMessage) { return CONTINUE; }
|
||||
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::OnCTCPReply(CNick& Nick, CString& sMessage) { return CONTINUE; }
|
||||
CModule::EModRet CModule::OnPrivCTCP(CNick& Nick, CString& sMessage) { return CONTINUE; }
|
||||
@@ -624,6 +625,7 @@ bool CModules::OnUserMsg(CString& sTarget, CString& sMessage) { MODHALTCHK(OnUse
|
||||
bool CModules::OnUserNotice(CString& sTarget, CString& sMessage) { MODHALTCHK(OnUserNotice(sTarget, sMessage)); }
|
||||
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::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; }
|
||||
|
||||
@@ -263,6 +263,7 @@ public:
|
||||
virtual EModRet OnUserNotice(CString& sTarget, CString& sMessage);
|
||||
virtual EModRet OnUserJoin(CString& sChannel, CString& sKey);
|
||||
virtual EModRet OnUserPart(CString& sChannel, CString& sMessage);
|
||||
virtual EModRet OnUserTopic(CString& sChannel, CString& sTopic);
|
||||
|
||||
virtual EModRet OnCTCPReply(CNick& Nick, CString& sMessage);
|
||||
virtual EModRet OnPrivCTCP(CNick& Nick, CString& sMessage);
|
||||
@@ -400,6 +401,7 @@ public:
|
||||
virtual bool OnUserNotice(CString& sTarget, CString& sMessage);
|
||||
virtual bool OnUserJoin(CString& sChannel, CString& sKey);
|
||||
virtual bool OnUserPart(CString& sChannel, CString& sMessage);
|
||||
virtual bool OnUserTopic(CString& sChannel, CString& sTopic);
|
||||
|
||||
virtual bool OnCTCPReply(CNick& Nick, CString& sMessage);
|
||||
virtual bool OnPrivCTCP(CNick& Nick, CString& sMessage);
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
*/
|
||||
|
||||
#include "Chan.h"
|
||||
#include "User.h"
|
||||
#include "Modules.h"
|
||||
|
||||
class CSampleTimer : public CTimer {
|
||||
@@ -171,6 +172,12 @@ public:
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
virtual EModRet OnUserTopic(CString& sTarget, CString& sTopic) {
|
||||
PutModule("* " + m_pUser->GetCurNick() + " changed topic on " + sTarget + " to '" + sTopic + "'");
|
||||
|
||||
return CONTINUE;
|
||||
}
|
||||
|
||||
virtual EModRet OnUserMsg(CString& sTarget, CString& sMessage) {
|
||||
PutModule("[" + sTarget + "] usermsg [" + sMessage + "]");
|
||||
sMessage = "Sample: \0034" + sMessage + "\003";
|
||||
|
||||
Reference in New Issue
Block a user