From 2a38c282dd57c2051a568549d62c80d6036e8920 Mon Sep 17 00:00:00 2001 From: Nathan Perry Date: Sun, 17 Nov 2019 21:31:28 -0500 Subject: most restructuring done --- src/commands/roll.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/commands/roll.rs') diff --git a/src/commands/roll.rs b/src/commands/roll.rs index b7b98d6..3df91d0 100644 --- a/src/commands/roll.rs +++ b/src/commands/roll.rs @@ -9,23 +9,23 @@ use serenity::{ use statrs; use crate::{ - commands::send, Result, + util::CtxExt, }; #[derive(Parser)] #[grammar = "commands/calc.pest"] struct Calc; -#[derive(Copy, Clone, Fail, Debug, PartialEq, Eq, Hash)] +#[derive(Copy, Clone, Error, Debug, PartialEq, Eq, Hash)] pub(crate) enum CalcError { - #[fail(display = "pest was unable to parse the input")] + #[error("pest was unable to parse the input")] Pest, - #[fail(display = "invalid number format")] + #[error("invalid number format")] NumberFormat, - #[fail(display = "bad argument count")] + #[error("bad argument count")] ArgCount, } @@ -143,9 +143,7 @@ impl Calc { fn eval_expr(p: Pairs) -> StdResult { CLIMBER.climb( p, - |pair| { - eval_single_pair(pair) - }, + eval_single_pair, |lhs, op, rhs| { let lhs = lhs?; let rhs = rhs?; @@ -198,15 +196,17 @@ mod test { } } -pub fn roll(_ctx: &mut Context, msg: &Message, args: Args) -> Result<()> { +#[command] +#[aliases("calc", "calculate")] +pub fn roll(ctx: &mut Context, msg: &Message, args: Args) -> Result<()> { match Calc::eval(args.rest()) { Ok(result) => { debug!("got calc result '{}'", result); - send(msg.channel_id, &format!("{}", result), msg.tts) + ctx.send(msg.channel_id, &format!("{}", result), msg.tts) }, Err(e) => { error!("error encountered reading calc '{}': {}", args.rest(), e); - send(msg.channel_id, "I COULDN'T READ THAT YOU FUCK", msg.tts) + ctx.send(msg.channel_id, "I COULDN'T READ THAT YOU FUCK", msg.tts) }, } } -- cgit v1.3.1