mirror of
https://github.com/revanced/revanced-discord-bot.git
synced 2025-05-01 15:04:25 +02:00
feat: only cure users on name change
This commit is contained in:
parent
5519bb2ee5
commit
1f5063b66f
@ -2,5 +2,5 @@ use super::*;
|
|||||||
use crate::utils::decancer::cure;
|
use crate::utils::decancer::cure;
|
||||||
|
|
||||||
pub async fn guild_member_addition(ctx: &serenity::Context, new_member: &serenity::Member) {
|
pub async fn guild_member_addition(ctx: &serenity::Context, new_member: &serenity::Member) {
|
||||||
cure(ctx, new_member).await;
|
cure(ctx, &None, new_member).await;
|
||||||
}
|
}
|
@ -3,8 +3,8 @@ use crate::utils::decancer::cure;
|
|||||||
|
|
||||||
pub async fn guild_member_update(
|
pub async fn guild_member_update(
|
||||||
ctx: &serenity::Context,
|
ctx: &serenity::Context,
|
||||||
_old_if_available: &Option<serenity::Member>,
|
old_if_available: &Option<serenity::Member>,
|
||||||
new: &serenity::Member,
|
new: &serenity::Member,
|
||||||
) {
|
) {
|
||||||
cure(ctx, new).await;
|
cure(ctx, old_if_available, new).await;
|
||||||
}
|
}
|
||||||
|
@ -1,20 +1,33 @@
|
|||||||
use ::decancer::Decancer;
|
use ::decancer::Decancer;
|
||||||
use tracing::{error, info};
|
use tracing::{error, info, trace};
|
||||||
|
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|
||||||
const DECANCER: Decancer = Decancer::new();
|
const DECANCER: Decancer = Decancer::new();
|
||||||
|
|
||||||
pub async fn cure(ctx: &serenity::Context, member: &serenity::Member) {
|
pub async fn cure(
|
||||||
println!("Curing {}", member.display_name());
|
ctx: &serenity::Context,
|
||||||
|
old_if_available: &Option<serenity::Member>,
|
||||||
|
member: &serenity::Member,
|
||||||
|
) {
|
||||||
let name = member.display_name().to_string();
|
let name = member.display_name().to_string();
|
||||||
|
|
||||||
|
if let Some(old) = old_if_available {
|
||||||
|
if old.display_name().to_string() == name {
|
||||||
|
trace!(
|
||||||
|
"Skipping decancer for {} because their name hasn't changed",
|
||||||
|
member.user.tag()
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let mut cured_name = DECANCER
|
let mut cured_name = DECANCER
|
||||||
.cure(&name)
|
.cure(&name)
|
||||||
.replace(|c: char| !(c == ' ' || c.is_ascii_alphanumeric()), "");
|
.replace(|c: char| !(c == ' ' || c.is_ascii_alphanumeric()), "");
|
||||||
|
|
||||||
if cured_name.len() == 0 {
|
if cured_name.len() == 0 {
|
||||||
cured_name = "ReVanced user" .to_string();
|
cured_name = "ReVanced user".to_string();
|
||||||
}
|
}
|
||||||
|
|
||||||
if name.to_lowercase() == cured_name {
|
if name.to_lowercase() == cured_name {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user