aboutsummaryrefslogtreecommitdiffhomepage
path: root/td/telegram/DialogParticipant.cpp
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2026-07-10 00:24:04 +0300
committerlevlam <levlam@telegram.org>2026-07-10 00:24:04 +0300
commitc0734a9b47e1575a516097c0b6a21725f8316385 (patch)
treef41f1e6b0c2b149f876d1c5ffc939a5ff88a0784 /td/telegram/DialogParticipant.cpp
parent575e5f8fb06010227c3ffe3bf1c69dfda1c739da (diff)
Add td_api::communityAdministratorRights.
Diffstat (limited to 'td/telegram/DialogParticipant.cpp')
-rw-r--r--td/telegram/DialogParticipant.cpp17
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_;
}