From a8120c9466db297839d52e71b4ae483bb6b49468 Mon Sep 17 00:00:00 2001 From: Xyon Date: Tue, 26 Sep 2023 22:58:25 +0100 Subject: [PATCH] Don't promote users if their rank is frozen --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/badgey/events.rs | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8a38ce8..101a98e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -159,7 +159,7 @@ dependencies = [ [[package]] name = "badgey" -version = "3.0.1" +version = "3.0.2" dependencies = [ "built", "clap", diff --git a/Cargo.toml b/Cargo.toml index e8f6707..0cf535a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "badgey" -version = "3.0.2" +version = "3.0.3" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/src/badgey/events.rs b/src/badgey/events.rs index 04671b9..a339003 100644 --- a/src/badgey/events.rs +++ b/src/badgey/events.rs @@ -63,6 +63,13 @@ impl BadgeyHandler { xp.last_given_xp = Some(chrono::Utc::now().timestamp()); xp.xp_value += &xp_reward; 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 let Some(guild) = msg.guild(&ctx.cache) { let mut member = guild.member(&ctx, msg.author.id).await?;