moved some stuff into random util
All checks were successful
build / docker (push) Successful in 17m17s
All checks were successful
build / docker (push) Successful in 17m17s
This commit is contained in:
parent
876c6bc301
commit
5799afa38e
@ -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()
|
||||||
|
@ -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 {
|
||||||
|
@ -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()
|
||||||
|
@ -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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user