diff --git a/Cargo.lock b/Cargo.lock index 8e2211f..aef5aac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1314,7 +1314,7 @@ dependencies = [ [[package]] name = "reminder_rs" -version = "1.4.0-alpha" +version = "1.4.0" dependencies = [ "Inflector", "chrono", diff --git a/Cargo.toml b/Cargo.toml index f8a3bb9..7575dc8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "reminder_rs" -version = "1.4.0-alpha" +version = "1.4.0" authors = ["jellywx "] edition = "2018" diff --git a/src/commands/reminder_cmds.rs b/src/commands/reminder_cmds.rs index c37f43d..194e821 100644 --- a/src/commands/reminder_cmds.rs +++ b/src/commands/reminder_cmds.rs @@ -1222,6 +1222,8 @@ async fn natural(ctx: &Context, msg: &Message, args: String) { match REGEX_NATURAL_COMMAND.captures(&args) { Some(captures) => { + let subscribed = check_subscription_on_message(&ctx, msg).await; + let location_ids = if let Some(mentions) = captures.name("mentions").map(|m| m.as_str()) { parse_mention_list(mentions) @@ -1230,15 +1232,23 @@ async fn natural(ctx: &Context, msg: &Message, args: String) { }; let expires = if let Some(expires_crop) = captures.name("expires") { - natural_parser(expires_crop.as_str(), &user_data.timezone).await + if subscribed { + natural_parser(expires_crop.as_str(), &user_data.timezone).await + } else { + None + } } else { None }; let interval = if let Some(interval_crop) = captures.name("interval") { - natural_parser(interval_crop.as_str(), &user_data.timezone) - .await - .map(|i| i - since_epoch.as_secs() as i64) + if subscribed { + natural_parser(interval_crop.as_str(), &user_data.timezone) + .await + .map(|i| i - since_epoch.as_secs() as i64) + } else { + None + } } else { None };