diff --git a/src/commands/roll.rs b/src/commands/roll.rs index 061616c..de18aa7 100644 --- a/src/commands/roll.rs +++ b/src/commands/roll.rs @@ -10,18 +10,22 @@ pub fn run_core(input: Option<&str>) -> String { let Some(input) = input else { return junk::get_random_insult(); }; + let split = match input.split('d').nth(1) { Some(s) => s, None => return junk::get_random_insult(), }; + let die_num = match validate::parse_str_into_num::(split.trim()) { Some(d) => d, None => return junk::get_random_insult(), }; + match dietype::DieType::from_sides(die_num) { Some(_) => {} None => return junk::get_random_insult(), }; + let mut rng = random::RandomGen::new(); rng.range_random_from_one(die_num).to_string() }