From c76364c8b4b8ca536153150e917917230719c99d Mon Sep 17 00:00:00 2001 From: doryan Date: Tue, 18 Jun 2024 00:17:24 +0400 Subject: [PATCH] fix(admin check): check for admin if a member doesn't ha the admins privileges but have prefix --- src/utils/telegram/admin_check.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/utils/telegram/admin_check.rs b/src/utils/telegram/admin_check.rs index 060fa0a..894c0ca 100644 --- a/src/utils/telegram/admin_check.rs +++ b/src/utils/telegram/admin_check.rs @@ -4,7 +4,16 @@ pub fn is_admin(all_admin_members: &Vec, user_id: i64) -> bool { all_admin_members .iter() .any(|admin: &ChatMember| match admin { - ChatMember::Administrator(admin) => admin.user.id == user_id, + ChatMember::Administrator(admin) => { + admin.user.id == user_id + && admin.can_change_info + && admin.can_delete_messages + && admin.can_promote_members + && admin.can_manage_chat + && admin.can_restrict_members + && admin.can_invite_users + && admin.can_manage_topics.unwrap() + } ChatMember::Owner(owner) => owner.user.id == user_id, _ => false, })