diff options
| author | Lake Lezz <[email protected]> | 2018-08-06 23:46:39 +0200 |
|---|---|---|
| committer | Mishio595 <[email protected]> | 2018-09-16 11:43:23 -0600 |
| commit | 1c4246a5b1f76be5f253813a8bea65bde909f8f3 (patch) | |
| tree | c8b3e83aaa368704b62ccc5d85d6e5ad66efa7fa /src | |
| parent | Prevent sub-group-prefixes to picked. (diff) | |
| download | serenity-1c4246a5b1f76be5f253813a8bea65bde909f8f3.tar.xz serenity-1c4246a5b1f76be5f253813a8bea65bde909f8f3.zip | |
Create `Args` only when needed.
Modify `Args` accordingly upon failed sub-command.
Diffstat (limited to 'src')
| -rw-r--r-- | src/framework/standard/mod.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/framework/standard/mod.rs b/src/framework/standard/mod.rs index 818f4c4..8c2fcd6 100644 --- a/src/framework/standard/mod.rs +++ b/src/framework/standard/mod.rs @@ -1112,6 +1112,13 @@ impl Framework for StandardFramework { let command = Arc::clone(command); let mut args = command_and_help_args!(&message.content, position, command_length, &self.configuration.delimiters); + let mut args = { + let content = message.content.chars().skip(position).skip_while(|x| x.is_whitespace()) + .skip(command_length).collect::<String>(); + + Args::new(&content.trim(), &self.configuration.delimiters) + }; + if let Some(error) = self.should_fail( &mut context, &message, |