Skip to content

Commit 0180fea

Browse files
committed
require me, remove looks_like_duration
Signed-off-by: Jared Ledvina <jared@techsmix.net>
1 parent 7dcc458 commit 0180fea

1 file changed

Lines changed: 6 additions & 27 deletions

File tree

src/plugins/remind.rs

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,6 @@ fn parse_duration(s: &str) -> Result<Duration> {
4040
Ok(Duration::from_secs(seconds))
4141
}
4242

43-
fn looks_like_duration(s: &str) -> bool {
44-
if s.len() < 2 {
45-
return false;
46-
}
47-
let (num_str, unit) = s.split_at(s.len() - 1);
48-
num_str.parse::<u64>().is_ok() && matches!(unit, "s" | "m" | "h" | "d" | "w")
49-
}
50-
5143
fn format_duration(secs: i64) -> String {
5244
let secs = secs.unsigned_abs();
5345
if secs < 60 {
@@ -160,7 +152,7 @@ impl RemindPlugin {
160152
}
161153
return self.handle_cancel(ctx, parts[1]).await;
162154
}
163-
if parts.len() < 2 {
155+
if parts.len() < 3 {
164156
ctx.mention_reply("Usage: remind <user|me> <time> <message>").await?;
165157
return Ok(());
166158
}
@@ -169,26 +161,13 @@ impl RemindPlugin {
169161
.sender()
170162
.ok_or_else(|| format_err!("Could not determine sender"))?;
171163

172-
let (target_user, duration_str, message) = if looks_like_duration(parts[0]) {
173-
let msg = if parts.len() > 1 { parts[1..].join(" ") } else { String::new() };
174-
(sender.to_string(), parts[0], msg)
164+
let target_user = if parts[0].eq_ignore_ascii_case("me") {
165+
sender.to_string()
175166
} else {
176-
if parts.len() < 3 {
177-
ctx.mention_reply("Usage: remind <user|me> <time> <message>").await?;
178-
return Ok(());
179-
}
180-
let target = if parts[0].eq_ignore_ascii_case("me") {
181-
sender.to_string()
182-
} else {
183-
parts[0].to_string()
184-
};
185-
(target, parts[1], parts[2].to_string())
167+
parts[0].to_string()
186168
};
187-
188-
if message.is_empty() {
189-
ctx.mention_reply("Please provide a reminder message").await?;
190-
return Ok(());
191-
}
169+
let duration_str = parts[1];
170+
let message = parts[2];
192171

193172
let duration = match parse_duration(duration_str) {
194173
Ok(d) => d,

0 commit comments

Comments
 (0)