From 436b606226fea6dd7ca03fc36f55fab53ce3bfb7 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 5 Dec 2023 12:01:42 +0300 Subject: =?UTF-8?q?fixes=20#4015=20(Telegram:=20=D0=BF=D1=80=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=8F=D1=82=D1=8C=20=D0=BE=D0=B3=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=87=D0=B0=D1=82=D0=B0?= =?UTF-8?q?=20=D1=81=D1=80=D0=B0=D0=B7=D1=83)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/Telegram/src/proto.h | 1 + protocols/Telegram/src/server.cpp | 22 ++++++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) (limited to 'protocols/Telegram/src') diff --git a/protocols/Telegram/src/proto.h b/protocols/Telegram/src/proto.h index 1ab2b23d08..14b617fe1f 100644 --- a/protocols/Telegram/src/proto.h +++ b/protocols/Telegram/src/proto.h @@ -248,6 +248,7 @@ class CTelegramProto : public PROTO void ProcessBasicGroupInfo(TD::updateBasicGroupFullInfo *pObj); void ProcessChat(TD::updateNewChat *pObj); void ProcessChatAction(TD::updateChatAction *pObj); + void ProcessChatHasProtected(TD::updateChatHasProtectedContent *pObj); void ProcessChatLastMessage(TD::updateChatLastMessage *pObj); void ProcessChatNotification(TD::updateChatNotificationSettings *pObj); void ProcessChatPosition(TD::updateChatPosition *pObj); diff --git a/protocols/Telegram/src/server.cpp b/protocols/Telegram/src/server.cpp index 89b8787f07..5cc78c2439 100644 --- a/protocols/Telegram/src/server.cpp +++ b/protocols/Telegram/src/server.cpp @@ -205,10 +205,18 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response) ProcessChatAction((TD::updateChatAction *)response.object.get()); break; + case TD::updateChatAvailableReactions::ID: + ProcessChatReactions((TD::updateChatAvailableReactions *)response.object.get()); + break; + case TD::updateChatFolders::ID: ProcessGroups((TD::updateChatFolders *)response.object.get()); break; + case TD::updateChatHasProtectedContent::ID: + ProcessChatHasProtected((TD::updateChatHasProtectedContent *)response.object.get()); + break; + case TD::updateChatLastMessage::ID: ProcessChatLastMessage((TD::updateChatLastMessage *)response.object.get()); break; @@ -221,10 +229,6 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response) ProcessChatPosition((TD::updateChatPosition *)response.object.get()); break; - case TD::updateChatAvailableReactions::ID: - ProcessChatReactions((TD::updateChatAvailableReactions *)response.object.get()); - break; - case TD::updateChatReadInbox::ID: ProcessMarkRead((TD::updateChatReadInbox *)response.object.get()); break; @@ -514,6 +518,16 @@ void CTelegramProto::ProcessChatAction(TD::updateChatAction *pObj) } } +void CTelegramProto::ProcessChatHasProtected(TD::updateChatHasProtectedContent *pObj) +{ + if (auto *pChat = FindChat(pObj->chat_id_)) { + if (pObj->has_protected_content_) + setByte(pChat->hContact, "Protected", 1); + else + delSetting(pChat->hContact, "Protected"); + } +} + void CTelegramProto::ProcessChatLastMessage(TD::updateChatLastMessage *pObj) { auto *pUser = FindChat(pObj->chat_id_); -- cgit v1.2.3