From 2046bf33c966d9db3fbc98c1e067788408751104 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 10 Feb 2023 13:17:48 +0300 Subject: Telegram: removes a contact from server when it's deleted locally --- protocols/Telegram/src/proto.cpp | 10 ++++++++++ protocols/Telegram/src/proto.h | 1 + 2 files changed, 11 insertions(+) (limited to 'protocols/Telegram/src') diff --git a/protocols/Telegram/src/proto.cpp b/protocols/Telegram/src/proto.cpp index 88fc2401ab..1a353da02a 100644 --- a/protocols/Telegram/src/proto.cpp +++ b/protocols/Telegram/src/proto.cpp @@ -88,6 +88,16 @@ CTelegramProto::~CTelegramProto() { } +void CTelegramProto::OnContactDeleted(MCONTACT hContact) +{ + CMStringA szId(getMStringA(hContact, DBKEY_ID)); + if (!szId.IsEmpty()) { + TD::array ids; + ids.push_back(_atoi64(szId)); + SendQuery(new TD::removeContacts(std::move(ids))); + } +} + void CTelegramProto::OnModulesLoaded() { CMStringA szId(getMStringA(DBKEY_ID)); diff --git a/protocols/Telegram/src/proto.h b/protocols/Telegram/src/proto.h index bb0238d494..d57f873bc3 100644 --- a/protocols/Telegram/src/proto.h +++ b/protocols/Telegram/src/proto.h @@ -241,6 +241,7 @@ public: int SendMsg(MCONTACT hContact, int flags, const char *pszMessage) override; int SetStatus(int iNewStatus) override; + void OnContactDeleted(MCONTACT hContact) override; void OnModulesLoaded() override; void OnShutdown() override; void OnErase() override; -- cgit v1.2.3