feat: allow ascii only names

This commit is contained in:
oSumAtrIX 2022-08-21 02:30:39 +02:00
parent e20e5b178f
commit 3f05f8cd92
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4

View File

@ -6,19 +6,25 @@ 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(ctx: &serenity::Context, member: &serenity::Member) {
let display_name = member.display_name(); println!("Curing {}", member.display_name());
let name = display_name.to_string(); 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 return; // username is already cured
} }
match member match member
.guild_id .guild_id
.edit_member(&ctx.http, member.user.id, |edit_member| { .edit_member(&ctx.http, member.user.id, |edit_member| {
edit_member.nickname(cured_user_name) edit_member.nickname(cured_name)
}) })
.await .await
{ {