Don't promote users if their rank is frozen

This commit is contained in:
Xyon 2023-09-26 22:58:25 +01:00
parent d4a5cb08e6
commit a8120c9466
Signed by: xyon
GPG Key ID: DD18155D6B18078D
3 changed files with 9 additions and 2 deletions

2
Cargo.lock generated
View File

@ -159,7 +159,7 @@ dependencies = [
[[package]] [[package]]
name = "badgey" name = "badgey"
version = "3.0.1" version = "3.0.2"
dependencies = [ dependencies = [
"built", "built",
"clap", "clap",

View File

@ -1,6 +1,6 @@
[package] [package]
name = "badgey" name = "badgey"
version = "3.0.2" version = "3.0.3"
edition = "2021" edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -63,6 +63,13 @@ impl BadgeyHandler {
xp.last_given_xp = Some(chrono::Utc::now().timestamp()); xp.last_given_xp = Some(chrono::Utc::now().timestamp());
xp.xp_value += &xp_reward; xp.xp_value += &xp_reward;
let calculated_level = xp.get_level_from_xp(); let calculated_level = xp.get_level_from_xp();
if xp.freeze_rank.is_some() {
xp.user_current_level = calculated_level.clone();
xp.insert(db)?;
return Ok(())
}
if (xp.user_current_level != calculated_level) || xp.user_current_level == 1 { if (xp.user_current_level != calculated_level) || xp.user_current_level == 1 {
if let Some(guild) = msg.guild(&ctx.cache) { if let Some(guild) = msg.guild(&ctx.cache) {
let mut member = guild.member(&ctx, msg.author.id).await?; let mut member = guild.member(&ctx, msg.author.id).await?;