cutness random updates

This commit is contained in:
Tanner Sommers 2024-11-25 23:40:58 -06:00
parent 4d89ca3ca5
commit a1fdfd3f82
3 changed files with 28 additions and 3 deletions

10
Cargo.lock generated
View File

@ -1786,6 +1786,15 @@ dependencies = [
"getrandom",
]
[[package]]
name = "rand_pcg"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e"
dependencies = [
"rand_core",
]
[[package]]
name = "redox_syscall"
version = "0.5.7"
@ -2297,6 +2306,7 @@ dependencies = [
"libloading",
"poise",
"rand",
"rand_pcg",
"reqwest 0.12.9",
"serde",
"serde_json",

View File

@ -20,3 +20,4 @@ serde_json = "1.0.133"
libloading = "0.8.5"
time = "0.3.36"
rand = "0.8.5"
rand_pcg = "0.3.1"

View File

@ -1,5 +1,6 @@
use poise::CreateReply;
use rand::Rng;
use rand::{Rng, SeedableRng};
use rand_pcg::Pcg32;
use serenity::all::{CreateAllowedMentions, User};
use crate::{Context, Error};
@ -39,14 +40,27 @@ pub async fn cutenesss(
.await?;
}
// Convert the users id to a byte array;
let mut rng = Pcg32::seed_from_u64(user.id.into());
let charm_factor = rng.gen_range(20..50);
let randomness_factor = rng.gen_range(10..30);
let humor_factor = rng.gen_range(5..20);
// Convert the users id to a i64
let user_id: i64 = user.id.into();
let id_factor = user_id % 100;
let cuteness_score = (charm_factor + randomness_factor + humor_factor + id_factor) % 101;
// Pow cuteness_score by 2 to make it more likely to be higher
let cuteness_score = cuteness_score.pow(2);
thinking_message
.edit(
ctx,
CreateReply::default()
.content(format!(
"I have determined that {} is {}% cute!",
user.name,
rand::thread_rng().gen_range(0..101)
user.name, cuteness_score
))
.allowed_mentions(CreateAllowedMentions::default().users(vec![user.id])),
)