aboutsummaryrefslogtreecommitdiffhomepage
path: root/td/telegram/DialogParticipant.cpp
diff options
context:
space:
mode:
authorlevlam <levlam@telegram.org>2026-07-10 13:54:04 +0300
committerlevlam <levlam@telegram.org>2026-07-10 13:54:04 +0300
commite620486b7f47030c5dffbbf43654fe797327f602 (patch)
tree2bbc69b8d70ff52a793984316e5e2d381daa32af /td/telegram/DialogParticipant.cpp
parentc0734a9b47e1575a516097c0b6a21725f8316385 (diff)
Add community.status.
Diffstat (limited to 'td/telegram/DialogParticipant.cpp')
-rw-r--r--td/telegram/DialogParticipant.cpp22
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();
}