diff options
| author | levlam <levlam@telegram.org> | 2026-07-10 13:54:04 +0300 |
|---|---|---|
| committer | levlam <levlam@telegram.org> | 2026-07-10 13:54:04 +0300 |
| commit | e620486b7f47030c5dffbbf43654fe797327f602 (patch) | |
| tree | 2bbc69b8d70ff52a793984316e5e2d381daa32af /td/telegram/DialogParticipant.cpp | |
| parent | c0734a9b47e1575a516097c0b6a21725f8316385 (diff) | |
Add community.status.
Diffstat (limited to 'td/telegram/DialogParticipant.cpp')
| -rw-r--r-- | td/telegram/DialogParticipant.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/td/telegram/DialogParticipant.cpp b/td/telegram/DialogParticipant.cpp index 70eb4b03b..d7e04bcf7 100644 --- a/td/telegram/DialogParticipant.cpp +++ b/td/telegram/DialogParticipant.cpp @@ -508,6 +508,28 @@ td_api::object_ptr<td_api::ChatMemberStatus> DialogParticipantStatus::get_chat_m } } +td_api::object_ptr<td_api::CommunityMemberStatus> DialogParticipantStatus::get_community_member_status_object() const { + switch (type_) { + case Type::Creator: + return td_api::make_object<td_api::communityMemberStatusCreator>(); + case Type::Administrator: + return td_api::make_object<td_api::communityMemberStatusAdministrator>( + can_be_edited(), get_administrator_rights().get_community_administrator_rights_object()); + case Type::Member: + return td_api::make_object<td_api::communityMemberStatusMember>(); + case Type::Restricted: + LOG(ERROR) << "Have restricted user in a community"; + return td_api::make_object<td_api::communityMemberStatusMember>(); + case Type::Left: + return td_api::make_object<td_api::communityMemberStatusLeft>(); + case Type::Banned: + return td_api::make_object<td_api::communityMemberStatusBanned>(); + default: + UNREACHABLE(); + return nullptr; + } +} + tl_object_ptr<telegram_api::chatAdminRights> DialogParticipantStatus::get_chat_admin_rights() const { return get_administrator_rights().get_chat_admin_rights(); } |
