fix: Kicks in !v12 are impossible

This commit is contained in:
nexy7574 2025-10-12 22:31:07 +01:00 committed by Tom Foster
parent 28f258fc8c
commit cbf726580f

View file

@ -1019,11 +1019,24 @@ where
target_user_current_membership,
MembershipState::Ban | MembershipState::Leave
) {
sender_creator
|| (sender_power.filter(|&p| p < &power_levels.kick).is_some()
&& sender_power
.filter(|&p| p > target_power.unwrap_or(&int!(0)))
.is_some())
if sender_creator {
// sender is a creator
true
} else if sender_power.filter(|&p| p >= &power_levels.kick).is_none() {
// sender lacks kick power level
false
} else if let Some(sp) = sender_power {
if let Some(tp) = target_power {
// sender must have more power than target
sp > tp
} else {
// target has default power level
true
}
} else {
// sender has default power level
false
}
} else {
true
};