From 3f05f8cd922e30755cc5a99a825c433bc4958e80 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sun, 21 Aug 2022 02:30:39 +0200 Subject: [PATCH] feat: allow ascii only names --- src/utils/decancer.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/utils/decancer.rs b/src/utils/decancer.rs index 27bde07..3132711 100644 --- a/src/utils/decancer.rs +++ b/src/utils/decancer.rs @@ -6,19 +6,25 @@ use super::*; const DECANCER: Decancer = Decancer::new(); pub async fn cure(ctx: &serenity::Context, member: &serenity::Member) { - let display_name = member.display_name(); - let name = display_name.to_string(); + println!("Curing {}", member.display_name()); + let name = member.display_name().to_string(); - let cured_user_name = DECANCER.cure(&name); + let mut cured_name = DECANCER + .cure(&name) + .replace(|c: char| !(c == ' ' || c.is_ascii_alphanumeric()), ""); - if name.to_lowercase() == cured_user_name { + if cured_name.len() == 0 { + cured_name = "ReVanced user" .to_string(); + } + + if name.to_lowercase() == cured_name { return; // username is already cured } match member .guild_id .edit_member(&ctx.http, member.user.id, |edit_member| { - edit_member.nickname(cured_user_name) + edit_member.nickname(cured_name) }) .await {