moved some stuff into random util
All checks were successful
build / docker (push) Successful in 17m17s

This commit is contained in:
Wyatt J. Miller 2025-04-19 21:43:10 -04:00
parent 876c6bc301
commit 5799afa38e
4 changed files with 8 additions and 8 deletions

View File

@ -4,7 +4,6 @@ use serenity::model::application::ResolvedOption;
pub async fn run(options: &[ResolvedOption<'_>]) -> String { pub async fn run(options: &[ResolvedOption<'_>]) -> String {
r#" r#"
A Discord bot that rolls limitless dice, randomly! A Discord bot that rolls limitless dice, randomly!
Designed, developed, and maintained by Arnkell Warner of Maduin
Copyright 2025, all rights reserved Copyright 2025, all rights reserved
"# "#
.to_string() .to_string()

View File

@ -1,6 +1,5 @@
use crate::util::{junk, random::RandomGen, validate}; use crate::util::{junk, random::RandomGen, validate};
use rand::Rng;
use serenity::builder::{CreateCommand, CreateCommandOption}; use serenity::builder::{CreateCommand, CreateCommandOption};
use serenity::model::application::{CommandOptionType, ResolvedOption, ResolvedValue}; use serenity::model::application::{CommandOptionType, ResolvedOption, ResolvedValue};
@ -8,7 +7,7 @@ pub async fn run(options: &[ResolvedOption<'_>]) -> String {
// check if options array is empty first // check if options array is empty first
if options.is_empty() { if options.is_empty() {
let mut rng = RandomGen::new(); let mut rng = RandomGen::new();
return rng.rng.gen_range(1..999).to_string(); return rng.range_random_from_one(999).to_string();
} }
// options exist, process first option // options exist, process first option
@ -17,10 +16,9 @@ pub async fn run(options: &[ResolvedOption<'_>]) -> String {
.. ..
}) = options.first() }) = options.first()
{ {
println!("input: {}", input);
let mut rng = RandomGen::new(); let mut rng = RandomGen::new();
return match validate::parse_str_into_num::<i32>(input.trim()) { return match validate::parse_str_into_num::<i32>(input.trim()) {
Some(n) => rng.rng.gen_range(1..n).to_string(), Some(n) => rng.range_random_from_one(n).to_string(),
None => return junk::get_random_insult(), None => return junk::get_random_insult(),
}; };
} else { } else {

View File

@ -3,7 +3,6 @@ use crate::{
util::{junk, random, validate}, util::{junk, random, validate},
}; };
use rand::Rng;
use serenity::builder::{CreateCommand, CreateCommandOption}; use serenity::builder::{CreateCommand, CreateCommandOption};
use serenity::model::application::{CommandOptionType, ResolvedOption, ResolvedValue}; use serenity::model::application::{CommandOptionType, ResolvedOption, ResolvedValue};
@ -13,7 +12,6 @@ pub async fn run(options: &[ResolvedOption<'_>]) -> String {
.. ..
}) = options.first() }) = options.first()
{ {
println!("got to the roll command! input: {}", input);
let split = input.split("d").nth(1).unwrap(); let split = input.split("d").nth(1).unwrap();
let die_num = match validate::parse_str_into_num::<i32>(split.trim()) { let die_num = match validate::parse_str_into_num::<i32>(split.trim()) {
Some(d) => d, Some(d) => d,
@ -25,7 +23,7 @@ pub async fn run(options: &[ResolvedOption<'_>]) -> String {
None => return junk::get_random_insult(), None => return junk::get_random_insult(),
}; };
let mut rng = random::RandomGen::new(); let mut rng = random::RandomGen::new();
let result = rng.rng.gen_range(1..die_num).to_string(); let result = rng.range_random_from_one(die_num).to_string();
return format!("{result}"); return format!("{result}");
} else { } else {
junk::get_random_insult() junk::get_random_insult()

View File

@ -1,4 +1,5 @@
use rand::rngs::ThreadRng; use rand::rngs::ThreadRng;
use rand::Rng;
pub struct RandomGen { pub struct RandomGen {
pub rng: ThreadRng, pub rng: ThreadRng,
@ -10,4 +11,8 @@ impl RandomGen {
rng: rand::thread_rng(), rng: rand::thread_rng(),
} }
} }
pub fn range_random_from_one(&mut self, limit: i32) -> i32 {
self.rng.gen_range(1..limit)
}
} }