mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
Merge pull request #1941 from DarthGandalf/tagmsg
Implement message-tags spec
This commit is contained in:
@@ -138,6 +138,8 @@ class CClient : public CIRCSocket {
|
||||
void SetPlaybackActive(bool bActive) { m_bPlaybackActive = bActive; }
|
||||
|
||||
void PutIRC(const CString& sLine);
|
||||
// Strips prefix and potentially tags before sending to server.
|
||||
void PutIRCStripping(CMessage Message);
|
||||
/** Sends a raw data line to the client.
|
||||
* @param sLine The line to be sent.
|
||||
*
|
||||
@@ -305,6 +307,7 @@ class CClient : public CIRCSocket {
|
||||
bool OnPingMessage(CMessage& Message);
|
||||
bool OnPongMessage(CMessage& Message);
|
||||
bool OnQuitMessage(CQuitMessage& Message);
|
||||
bool OnTagMessage(CTargetMessage& Message);
|
||||
bool OnTextMessage(CTextMessage& Message);
|
||||
bool OnTopicMessage(CTopicMessage& Message);
|
||||
bool OnOtherMessage(CMessage& Message);
|
||||
@@ -327,6 +330,7 @@ class CClient : public CIRCSocket {
|
||||
bool m_bBatch;
|
||||
bool m_bEchoMessage;
|
||||
bool m_bSelfMessage;
|
||||
bool m_bMessageTagCap;
|
||||
bool m_bSASLCap;
|
||||
bool m_bPlaybackActive;
|
||||
CUser* m_pUser;
|
||||
|
||||
@@ -153,9 +153,8 @@ class CIRCSock : public CIRCSocket {
|
||||
bool HasAccountNotify() const { return m_bAccountNotify; }
|
||||
bool HasExtendedJoin() const { return m_bExtendedJoin; }
|
||||
bool HasServerTime() const { return m_bServerTime; }
|
||||
const std::set<char>& GetUserModes() const {
|
||||
return m_scUserModes;
|
||||
}
|
||||
bool HasMessageTagCap() const { return m_bMessageTagCap; }
|
||||
const std::set<char>& GetUserModes() const { return m_scUserModes; }
|
||||
// This is true if we are past raw 001
|
||||
bool IsAuthed() const { return m_bAuthed; }
|
||||
const SCString& GetAcceptedCaps() const { return m_ssAcceptedCaps; }
|
||||
@@ -192,6 +191,7 @@ class CIRCSock : public CIRCSocket {
|
||||
bool OnPingMessage(CMessage& Message);
|
||||
bool OnPongMessage(CMessage& Message);
|
||||
bool OnQuitMessage(CQuitMessage& Message);
|
||||
bool OnTagMessage(CTargetMessage& Message);
|
||||
bool OnTextMessage(CTextMessage& Message);
|
||||
bool OnTopicMessage(CTopicMessage& Message);
|
||||
bool OnWallopsMessage(CMessage& Message);
|
||||
@@ -213,6 +213,7 @@ class CIRCSock : public CIRCSocket {
|
||||
bool m_bAccountNotify;
|
||||
bool m_bExtendedJoin;
|
||||
bool m_bServerTime;
|
||||
bool m_bMessageTagCap;
|
||||
CString m_sPerms;
|
||||
CString m_sPermModes;
|
||||
std::set<char> m_scUserModes;
|
||||
|
||||
@@ -82,6 +82,7 @@ class CMessage {
|
||||
Ping,
|
||||
Pong,
|
||||
Quit,
|
||||
TagMsg,
|
||||
Text,
|
||||
Topic,
|
||||
Wallops,
|
||||
@@ -139,6 +140,7 @@ class CMessage {
|
||||
void SetTime(const timeval& ts) { m_time = ts; }
|
||||
|
||||
const MCString& GetTags() const { return m_mssTags; }
|
||||
MCString& GetTags() { return m_mssTags; }
|
||||
void SetTags(const MCString& mssTags) { m_mssTags = mssTags; }
|
||||
|
||||
CString GetTag(const CString& sKey) const;
|
||||
|
||||
@@ -1079,6 +1079,25 @@ class CModule {
|
||||
/// @deprecated Use OnSendToIRCMessage() instead.
|
||||
virtual EModRet OnSendToIRC(CString& sLine);
|
||||
|
||||
/** This module hook is called when a user sends a TAGMSG message.
|
||||
* @since 1.10.0
|
||||
* @param Message The message which was sent.
|
||||
* @return See CModule::EModRet.
|
||||
*/
|
||||
virtual EModRet OnUserTagMessage(CTargetMessage& Message);
|
||||
/** Called when we receive a channel TAGMSG message <em>from IRC</em>.
|
||||
* @since 1.10.0
|
||||
* @param Message The channel message.
|
||||
* @return See CModule::EModRet.
|
||||
*/
|
||||
virtual EModRet OnChanTagMessage(CTargetMessage& Message);
|
||||
/** Called when we receive a private TAGMSG message <em>from IRC</em>.
|
||||
* @since 1.10.0
|
||||
* @param Message The message.
|
||||
* @return See CModule::EModRet.
|
||||
*/
|
||||
virtual EModRet OnPrivTagMessage(CTargetMessage& Message);
|
||||
|
||||
ModHandle GetDLL() { return m_pDLL; }
|
||||
|
||||
/** This function sends a given IRC line to the IRC server, if we
|
||||
@@ -1628,6 +1647,9 @@ class CModules : public std::vector<CModule*>, private CCoreTranslationMixin {
|
||||
bool OnUserTopicRequest(CString& sChannel);
|
||||
bool OnUserQuit(CString& sMessage);
|
||||
bool OnUserQuitMessage(CQuitMessage& Message);
|
||||
bool OnUserTagMessage(CTargetMessage& Message);
|
||||
bool OnChanTagMessage(CTargetMessage& Message);
|
||||
bool OnPrivTagMessage(CTargetMessage& Message);
|
||||
|
||||
bool OnCTCPReply(CNick& Nick, CString& sMessage);
|
||||
bool OnCTCPReplyMessage(CCTCPMessage& Message);
|
||||
|
||||
Reference in New Issue
Block a user