mirror of
https://github.com/znc/znc.git
synced 2026-05-02 11:32:29 +02:00
Implement invite-notify
This commit is contained in:
@@ -85,6 +85,7 @@ CClient::CClient()
|
||||
m_bCapNotify(false),
|
||||
m_bAwayNotify(false),
|
||||
m_bAccountNotify(false),
|
||||
m_bInviteNotify(false),
|
||||
m_bExtendedJoin(false),
|
||||
m_bNamesx(false),
|
||||
m_bUHNames(false),
|
||||
@@ -587,14 +588,25 @@ void CClient::PutClient(const CString& sLine) {
|
||||
}
|
||||
|
||||
bool CClient::PutClient(const CMessage& Message) {
|
||||
if (!m_bAwayNotify && Message.GetType() == CMessage::Type::Away) {
|
||||
return false;
|
||||
} else if (!m_bAccountNotify &&
|
||||
Message.GetType() == CMessage::Type::Account) {
|
||||
return false;
|
||||
} else if (!m_bMessageTagCap &&
|
||||
Message.GetType() == CMessage::Type::TagMsg) {
|
||||
return false;
|
||||
switch (Message.GetType()) {
|
||||
case CMessage::Type::Away:
|
||||
if (!m_bAwayNotify) return false;
|
||||
break;
|
||||
case CMessage::Type::Account:
|
||||
if (!m_bAccountNotify) return false;
|
||||
break;
|
||||
case CMessage::Type::TagMsg:
|
||||
if (!m_bMessageTagCap) return false;
|
||||
break;
|
||||
case CMessage::Type::Invite:
|
||||
if (!m_bInviteNotify &&
|
||||
!CNick(Message.As<CInviteMessage>().GetInvitedNick())
|
||||
.NickEquals(m_sNick)) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
CMessage Msg(Message);
|
||||
@@ -854,6 +866,10 @@ CClient::CoreCaps() {
|
||||
[](CClient* pClient, bool bVal) {
|
||||
pClient->m_bCapNotify = bVal;
|
||||
}},
|
||||
{"invite-notify",
|
||||
[](CClient* pClient, bool bVal) {
|
||||
pClient->m_bInviteNotify = bVal;
|
||||
}},
|
||||
{"chghost", [](CClient* pClient,
|
||||
bool bVal) { pClient->m_bChgHost = bVal; }},
|
||||
{"sasl",
|
||||
|
||||
Reference in New Issue
Block a user