use crate::util; /// Roll some number of dice or perform a calculation. #[poise::command(prefix_command, guild_only, aliases("calc", "calculate"))] pub async fn roll( ctx: poise::Context<'_, U, anyhow::Error>, #[rest] rest: String, ) -> anyhow::Result<()> { match thulani_calc::Calc::eval(&rest) { Ok(result) => { log::debug!("got calc result '{}'", result); util::reply(ctx, result.to_string()).await?; }, Err(e) => { log::error!("error encountered reading calc '{}': {}", rest, e); util::reply(ctx, "I COULDN'T READ THAT YOU FUCK").await?; }, } Ok(()) }