From 9990031be959ebcdb1963e2a89119f0828f542a3 Mon Sep 17 00:00:00 2001 From: levlam Date: Wed, 24 Jun 2026 10:33:12 +0300 Subject: Improve JsonChat. --- telegram-bot-api/Client.cpp | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/telegram-bot-api/Client.cpp b/telegram-bot-api/Client.cpp index fb9d25b..41ba05b 100644 --- a/telegram-bot-api/Client.cpp +++ b/telegram-bot-api/Client.cpp @@ -1588,19 +1588,25 @@ class Client::JsonChat final : public td::Jsonable { if (user_info->paid_message_star_count > 0) { object("paid_message_star_count", user_info->paid_message_star_count); } + photo = user_info->photo.get(); } - photo = user_info->photo.get(); break; } case ChatInfo::Type::Group: { object("title", chat_info->title); object("type", "group"); - const auto *permissions = chat_info->permissions.get(); - - auto group_info = client_->get_group_info(chat_info->group_id); - CHECK(group_info != nullptr); + auto everyone_is_administrator = + permissions->can_send_basic_messages_ && permissions->can_send_audios_ && + permissions->can_send_documents_ && permissions->can_send_photos_ && permissions->can_send_videos_ && + permissions->can_send_video_notes_ && permissions->can_send_voice_notes_ && permissions->can_send_polls_ && + permissions->can_send_other_messages_ && permissions->can_add_link_previews_ && + permissions->can_react_to_messages_ && permissions->can_edit_tag_ && permissions->can_change_info_ && + permissions->can_invite_users_ && permissions->can_pin_messages_; + object("all_members_are_administrators", td::JsonBool(everyone_is_administrator)); if (is_full_) { + auto group_info = client_->get_group_info(chat_info->group_id); + CHECK(group_info != nullptr); if (!group_info->description.empty()) { object("description", group_info->description); } @@ -1608,17 +1614,9 @@ class Client::JsonChat final : public td::Jsonable { object("invite_link", group_info->invite_link); } object("permissions", JsonChatPermissions(permissions)); + object("accepted_gift_types", JsonAcceptedGiftTypes(false, false, false, false, false)); + photo = group_info->photo.get(); } - auto everyone_is_administrator = - permissions->can_send_basic_messages_ && permissions->can_send_audios_ && - permissions->can_send_documents_ && permissions->can_send_photos_ && permissions->can_send_videos_ && - permissions->can_send_video_notes_ && permissions->can_send_voice_notes_ && permissions->can_send_polls_ && - permissions->can_send_other_messages_ && permissions->can_add_link_previews_ && - permissions->can_react_to_messages_ && permissions->can_edit_tag_ && permissions->can_change_info_ && - permissions->can_invite_users_ && permissions->can_pin_messages_; - object("all_members_are_administrators", td::JsonBool(everyone_is_administrator)); - object("accepted_gift_types", JsonAcceptedGiftTypes(false, false, false, false, false)); - photo = group_info->photo.get(); break; } case ChatInfo::Type::Supergroup: { @@ -1718,8 +1716,8 @@ class Client::JsonChat final : public td::Jsonable { if (supergroup_info->paid_message_star_count) { object("paid_message_star_count", supergroup_info->paid_message_star_count); } + photo = supergroup_info->photo.get(); } - photo = supergroup_info->photo.get(); break; } case ChatInfo::Type::Unknown: -- cgit v1.2.3