diff options
| author | Lakelezz <[email protected]> | 2018-07-15 16:48:06 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-07-15 16:48:06 +0200 |
| commit | 29480e5eeccc12afc0e9020373647786736aabc7 (patch) | |
| tree | 347ade11861894d95de87274e5c534d6795b282b /src/framework/standard/mod.rs | |
| parent | typos (diff) | |
| download | serenity-29480e5eeccc12afc0e9020373647786736aabc7.tar.xz serenity-29480e5eeccc12afc0e9020373647786736aabc7.zip | |
Add checks for groups (#349)
Diffstat (limited to 'src/framework/standard/mod.rs')
| -rw-r--r-- | src/framework/standard/mod.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/framework/standard/mod.rs b/src/framework/standard/mod.rs index 435069e..6eaa83e 100644 --- a/src/framework/standard/mod.rs +++ b/src/framework/standard/mod.rs @@ -488,6 +488,7 @@ impl StandardFramework { mut context: &mut Context, message: &Message, command: &Arc<CommandOptions>, + group: &Arc<CommandGroup>, args: &mut Args, to_check: &str, built: &str) @@ -600,12 +601,21 @@ impl StandardFramework { } } - let all_passed = command + let all_group_checks_passed = group .checks .iter() .all(|check| (check.0)(&mut context, message, args, command)); - if all_passed { + if !all_group_checks_passed { + return Some(DispatchError::CheckFailed); + } + + let all_command_checks_passed = command + .checks + .iter() + .all(|check| (check.0)(&mut context, message, args, command)); + + if all_command_checks_passed { None } else { Some(DispatchError::CheckFailed) @@ -1061,6 +1071,7 @@ impl Framework for StandardFramework { &mut context, &message, &command.options(), + &group, &mut args, &to_check, &built, |