diff options
| author | Illia <[email protected]> | 2016-12-16 08:45:47 -0800 |
|---|---|---|
| committer | Austin Hellyer <[email protected]> | 2016-12-16 08:47:18 -0800 |
| commit | fb07751cfc1efb657cba7005c38ed5ec6b192b4f (patch) | |
| tree | 172a1efba7e355b9141a1af9a4dc308c9591646f /src/ext/framework | |
| parent | Fix framework owners_only check (diff) | |
| download | serenity-fb07751cfc1efb657cba7005c38ed5ec6b192b4f.tar.xz serenity-fb07751cfc1efb657cba7005c38ed5ec6b192b4f.zip | |
Framework: format argument number on parse error
Diffstat (limited to 'src/ext/framework')
| -rw-r--r-- | src/ext/framework/mod.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ext/framework/mod.rs b/src/ext/framework/mod.rs index 085bf2c..c580d76 100644 --- a/src/ext/framework/mod.rs +++ b/src/ext/framework/mod.rs @@ -133,14 +133,21 @@ macro_rules! command { ($fname:ident($c:ident, $m:ident, $a:ident, $($name:ident: $t:ty),*) $b:block) => { pub fn $fname($c: &Context, $m: &Message, $a: Vec<String>) -> Result<(), String> { let mut i = $a.iter(); + let mut arg_counter = 0; $( + arg_counter += 1; + let $name = match i.next() { Some(v) => match v.parse::<$t>() { Ok(v) => v, - Err(_) => return Err(format!("Failed to parse {:?}", stringify!($t))), + Err(_) => return Err(format!("Failed to parse argument #{} of type {:?}", + arg_counter, + stringify!($t))), }, - None => return Err(format!("Failed to parse {:?}", stringify!($t))), + None => return Err(format!("Failed to parse argument #{} of type {:?}", + arg_counter, + stringify!($t))), }; )* |