aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLake Lezz <[email protected]>2018-08-06 23:46:39 +0200
committerMishio595 <[email protected]>2018-09-16 11:43:23 -0600
commit1c4246a5b1f76be5f253813a8bea65bde909f8f3 (patch)
treec8b3e83aaa368704b62ccc5d85d6e5ad66efa7fa /src
parentPrevent sub-group-prefixes to picked. (diff)
downloadserenity-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.rs7
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,