diff --git a/crates/teloxide-core/src/types/chat_member.rs b/crates/teloxide-core/src/types/chat_member.rs index 71a39b43..fc967436 100644 --- a/crates/teloxide-core/src/types/chat_member.rs +++ b/crates/teloxide-core/src/types/chat_member.rs @@ -266,7 +266,10 @@ impl ChatMemberKind { /// [banned]: ChatMemberKind::Banned #[must_use] pub fn is_present(&self) -> bool { - !(self.is_left() || self.is_banned()) + let is_restricted_non_member = + matches!(self, Self::Restricted(Restricted { is_member: false, .. })); + + !(self.is_left() || self.is_banned() || is_restricted_non_member) } }