diff options
-rw-r--r-- | protocols/Discord/src/dispatch.cpp | 14 | ||||
-rw-r--r-- | protocols/Discord/src/proto.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/protocols/Discord/src/dispatch.cpp b/protocols/Discord/src/dispatch.cpp index b22e76f583..0c9f5e6dc6 100644 --- a/protocols/Discord/src/dispatch.cpp +++ b/protocols/Discord/src/dispatch.cpp @@ -48,6 +48,7 @@ static handlers[] = // these structures must me sorted alphabetically { L"MESSAGE_ACK", &CDiscordProto::OnCommandMessageAck }, { L"MESSAGE_CREATE", &CDiscordProto::OnCommandMessageCreate }, + { L"MESSAGE_DELETE", &CDiscordProto::OnCommandMessageDelete }, { L"MESSAGE_UPDATE", &CDiscordProto::OnCommandMessageUpdate }, { L"PRESENCE_UPDATE", &CDiscordProto::OnCommandPresence }, @@ -509,6 +510,19 @@ void CDiscordProto::OnCommandMessageAck(const JSONNode &pRoot) } ///////////////////////////////////////////////////////////////////////////////////////// +// message deleted + +void CDiscordProto::OnCommandMessageDelete(const JSONNode &pRoot) +{ + CMStringA msgid(pRoot["id"].as_mstring()); + if (!msgid.IsEmpty()) { + MEVENT hEvent = db_event_getById(m_szModuleName, msgid); + if (hEvent) + db_event_delete(db_event_getContact(hEvent), hEvent); + } +} + +///////////////////////////////////////////////////////////////////////////////////////// // someone changed its status void CDiscordProto::OnCommandPresence(const JSONNode &pRoot) diff --git a/protocols/Discord/src/proto.h b/protocols/Discord/src/proto.h index 95e6f48d6b..b4022284eb 100644 --- a/protocols/Discord/src/proto.h +++ b/protocols/Discord/src/proto.h @@ -370,6 +370,7 @@ public: void OnCommandFriendRemoved(const JSONNode &json); void OnCommandMessage(const JSONNode&, bool); void OnCommandMessageCreate(const JSONNode &json); + void OnCommandMessageDelete(const JSONNode &json); void OnCommandMessageUpdate(const JSONNode &json); void OnCommandMessageAck(const JSONNode &json); void OnCommandPresence(const JSONNode &json); |