diff options
| author | levlam <levlam@telegram.org> | 2026-07-10 00:24:04 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2026-07-10 00:24:04 +0300 |
| commit | c0734a9b47e1575a516097c0b6a21725f8316385 (patch) | |
| tree | f41f1e6b0c2b149f876d1c5ffc939a5ff88a0784 /td/telegram/DialogParticipant.cpp | |
| parent | 575e5f8fb06010227c3ffe3bf1c69dfda1c739da (diff) | |
Add td_api::communityAdministratorRights.
Diffstat (limited to 'td/telegram/DialogParticipant.cpp')
| -rw-r--r-- | td/telegram/DialogParticipant.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/td/telegram/DialogParticipant.cpp b/td/telegram/DialogParticipant.cpp index 2a257a901..70eb4b03b 100644 --- a/td/telegram/DialogParticipant.cpp +++ b/td/telegram/DialogParticipant.cpp @@ -50,6 +50,16 @@ AdministratorRights::AdministratorRights(const td_api::object_ptr<td_api::chatAd rights->can_manage_direct_messages_, rights->can_manage_tags_, false, channel_type); } +AdministratorRights::AdministratorRights(const td_api::object_ptr<td_api::communityAdministratorRights> &rights) { + if (rights == nullptr) { + flags_ = 0; + return; + } + *this = AdministratorRights(false, rights->can_manage_community_, rights->can_change_info_, false, false, false, + false, rights->can_ban_members_, false, false, rights->can_promote_members_, false, false, + false, false, false, false, rights->can_edit_chat_list_, ChannelType::Unknown); +} + AdministratorRights::AdministratorRights(bool is_anonymous, bool can_manage_dialog, bool can_change_info, bool can_post_messages, bool can_edit_messages, bool can_delete_messages, bool can_invite_users, bool can_restrict_members, bool can_pin_messages, @@ -112,6 +122,13 @@ td_api::object_ptr<td_api::chatAdministratorRights> AdministratorRights::get_cha can_manage_direct_messages(), can_manage_ranks(), is_anonymous()); } +td_api::object_ptr<td_api::communityAdministratorRights> +AdministratorRights::get_community_administrator_rights_object() const { + return td_api::make_object<td_api::communityAdministratorRights>(can_manage_dialog(), can_change_info_and_settings(), + can_manage_linked_peers(), can_promote_members(), + can_restrict_members()); +} + bool operator==(const AdministratorRights &lhs, const AdministratorRights &rhs) { return lhs.flags_ == rhs.flags_; } |
