From effe3763da408fc0fbf5803322f25bde6c40f9e3 Mon Sep 17 00:00:00 2001 From: Yannick Funk Date: Wed, 25 Aug 2021 00:10:20 +0200 Subject: [PATCH 1/3] Shorten regex and adapt capture evaluation --- src/routes/channels/message_send.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/routes/channels/message_send.rs b/src/routes/channels/message_send.rs index b49d4698..f3bbe03d 100644 --- a/src/routes/channels/message_send.rs +++ b/src/routes/channels/message_send.rs @@ -30,7 +30,7 @@ pub struct Data { } lazy_static! { - static ref RE_ULID: Regex = Regex::new(r"<@([0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26})>").unwrap(); + static ref RE_ULID: Regex = Regex::new(r"<@([0-9A-Z]{26})>").unwrap(); } #[post("//messages", data = "")] @@ -80,9 +80,10 @@ pub async fn message_send(_r: RateLimited<'_>, user: User, target: Ref, message: let id = Ulid::new().to_string(); let mut mentions = HashSet::new(); - if let Some(captures) = RE_ULID.captures_iter(&message.content).next() { - // ! FIXME: in the future, verify in group so we can send out push - mentions.insert(captures[1].to_string()); + for capture in RE_ULID.captures_iter(&message.content) { + if let Some(mention) = capture.get(1) { + mentions.insert(mention.as_str().to_string()); + } } let mut replies = HashSet::new(); From c29f6d830cabaa5dc71b48f5496bdf379343ea05 Mon Sep 17 00:00:00 2001 From: Yannick Funk Date: Wed, 25 Aug 2021 16:32:11 +0200 Subject: [PATCH 2/3] Ignore I L O and u --- src/routes/channels/message_send.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/routes/channels/message_send.rs b/src/routes/channels/message_send.rs index f3bbe03d..d83e9a38 100644 --- a/src/routes/channels/message_send.rs +++ b/src/routes/channels/message_send.rs @@ -30,7 +30,8 @@ pub struct Data { } lazy_static! { - static ref RE_ULID: Regex = Regex::new(r"<@([0-9A-Z]{26})>").unwrap(); + // ignoring I L O and U is intentional + static ref RE_ULID: Regex = Regex::new(r"<@([0-9A-HJKMNPQRSTVWXYZ]{26})>").unwrap(); } #[post("//messages", data = "")] From ffa721117e3e28706f83304601168bd6925af882 Mon Sep 17 00:00:00 2001 From: Yannick Funk Date: Wed, 25 Aug 2021 16:34:42 +0200 Subject: [PATCH 3/3] Shorten regex further --- src/routes/channels/message_send.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/channels/message_send.rs b/src/routes/channels/message_send.rs index d83e9a38..8285c885 100644 --- a/src/routes/channels/message_send.rs +++ b/src/routes/channels/message_send.rs @@ -31,7 +31,7 @@ pub struct Data { lazy_static! { // ignoring I L O and U is intentional - static ref RE_ULID: Regex = Regex::new(r"<@([0-9A-HJKMNPQRSTVWXYZ]{26})>").unwrap(); + static ref RE_ULID: Regex = Regex::new(r"<@([0-9A-HJKMNP-TV-Z]{26})>").unwrap(); } #[post("//messages", data = "")]