diff options
Diffstat (limited to 'protocols/Telegram/src/server.cpp')
-rw-r--r-- | protocols/Telegram/src/server.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
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_);
|