aboutsummaryrefslogtreecommitdiff
path: root/src/framework/standard
diff options
context:
space:
mode:
authorJacob Helwig <[email protected]>2017-10-07 02:43:42 -0700
committeralex <[email protected]>2017-10-07 11:43:42 +0200
commit3a4cb18be8ca33d507cbfc88fec79b2a6c5d8bfc (patch)
treea1eedc69a54e27cd409dd6195f630e89d461a92c /src/framework/standard
parentChange default_channel to return a pointer (#179) (diff)
downloadserenity-3a4cb18be8ca33d507cbfc88fec79b2a6c5d8bfc.tar.xz
serenity-3a4cb18be8ca33d507cbfc88fec79b2a6c5d8bfc.zip
Do not to " " if none of the provided delimiters are found (#183)
Diffstat (limited to 'src/framework/standard')
-rw-r--r--src/framework/standard/args.rs9
-rw-r--r--src/framework/standard/mod.rs8
2 files changed, 8 insertions, 9 deletions
diff --git a/src/framework/standard/args.rs b/src/framework/standard/args.rs
index d03076f..8f166b6 100644
--- a/src/framework/standard/args.rs
+++ b/src/framework/standard/args.rs
@@ -18,7 +18,7 @@ impl<E: StdError> From<E> for Error<E> {
fn from(e: E) -> Self {
Error::Parse(e)
}
-}
+}
impl<E: StdError> StdError for Error<E> {
fn description(&self) -> &str {
@@ -60,7 +60,12 @@ pub struct Args {
}
impl Args {
- pub fn new(message: &str, delimiter: &str) -> Self {
+ pub fn new(message: &str, possible_delimiters: Vec<String>) -> Self {
+ let delimiter = possible_delimiters
+ .iter()
+ .find(|&d| message.contains(d))
+ .map_or(possible_delimiters[0].as_str(), |s| s.as_str());
+
let split = if message.trim().is_empty() {
Vec::new()
} else {
diff --git a/src/framework/standard/mod.rs b/src/framework/standard/mod.rs
index dc065f0..e1ec1bd 100644
--- a/src/framework/standard/mod.rs
+++ b/src/framework/standard/mod.rs
@@ -901,13 +901,7 @@ impl Framework for StandardFramework {
let mut content = message.content[position..].trim();
content = content[command_length..].trim();
- let delimiter = self.configuration
- .delimiters
- .iter()
- .find(|&d| content.contains(d))
- .map_or(" ", |s| s.as_str());
-
- Args::new(&content, delimiter)
+ Args::new(&content, self.configuration.delimiters.clone())
};
if let Some(error) = self.should_fail(