summaryrefslogtreecommitdiff
path: root/protocols/Telegram/src/server.cpp
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2025-06-22 17:42:11 +0300
committerGeorge Hazan <george.hazan@gmail.com>2025-06-22 17:42:11 +0300
commit690e3433c5bcfea991a8efce03e0ae2ef389df44 (patch)
tree13fe60901be505e30559f4b96b223d375f561b8e /protocols/Telegram/src/server.cpp
parentac1dc0145598426c99e983829b5daa8b5bde4e6f (diff)
fixes #5049 (Telegram: добавить в юзеринфо канала описание канала)
Diffstat (limited to 'protocols/Telegram/src/server.cpp')
-rw-r--r--protocols/Telegram/src/server.cpp27
1 files changed, 18 insertions, 9 deletions
diff --git a/protocols/Telegram/src/server.cpp b/protocols/Telegram/src/server.cpp
index 148a68928c..8333e032a0 100644
--- a/protocols/Telegram/src/server.cpp
+++ b/protocols/Telegram/src/server.cpp
@@ -216,11 +216,15 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response)
break;
case TD::updateBasicGroup::ID:
- ProcessBasicGroup((TD::updateBasicGroup*)response.object.get());
+ ProcessBasicGroup((TD::updateBasicGroup *)response.object.get());
break;
case TD::updateBasicGroupFullInfo::ID:
- ProcessBasicGroupInfo((TD::updateBasicGroupFullInfo *)response.object.get());
+ {
+ auto *pObj = (TD::updateBasicGroupFullInfo *)response.object.get();
+ if (auto *pChat = FindUser(pObj->basic_group_id_))
+ ProcessBasicGroupInfo(pChat, pObj->basic_group_full_info_.get());
+ }
break;
case TD::updateChatAction::ID:
@@ -244,7 +248,7 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response)
break;
case TD::updateChatNotificationSettings::ID:
- ProcessChatNotification((TD::updateChatNotificationSettings*)response.object.get());
+ ProcessChatNotification((TD::updateChatNotificationSettings *)response.object.get());
break;
case TD::updateChatPosition::ID:
@@ -260,9 +264,9 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response)
break;
case TD::updateDeleteMessages::ID:
- ProcessDeleteMessage((TD::updateDeleteMessages*)response.object.get());
+ ProcessDeleteMessage((TD::updateDeleteMessages *)response.object.get());
break;
-
+
case TD::updateConnectionState::ID:
ProcessConnectionState((TD::updateConnectionState *)response.object.get());
break;
@@ -272,7 +276,7 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response)
break;
case TD::updateForumTopicInfo::ID:
- ProcessForum((TD::updateForumTopicInfo*)response.object.get());
+ ProcessForum((TD::updateForumTopicInfo *)response.object.get());
break;
case TD::updateMessageContent::ID:
@@ -312,8 +316,7 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response)
ProcessChat((TD::updateNewChat *)response.object.get());
break;
- case TD::updateNewMessage::ID:
- {
+ case TD::updateNewMessage::ID: {
auto *pMessage = ((TD::updateNewMessage *)response.object.get())->message_.get();
TG_OWN_MESSAGE tmp(0, 0, msg2id(pMessage));
if (!m_arOwnMsg.find(&tmp))
@@ -338,7 +341,13 @@ void CTelegramProto::ProcessResponse(td::ClientManager::Response response)
break;
case TD::updateSupergroupFullInfo::ID:
- ProcessSuperGroupInfo((TD::updateSupergroupFullInfo *)response.object.get());
+ {
+ auto *pObj = (TD::updateSupergroupFullInfo *)response.object.get();
+ if (auto *pUser = FindUser(pObj->supergroup_id_))
+ ProcessSuperGroupInfo(pUser, pObj->supergroup_full_info_.get());
+ else
+ debugLogA("Uknown super group id %lld, skipping", pObj->supergroup_id_);
+ }
break;
case TD::updateUserStatus::ID: