From 2cc98655ffd94f581ed3f1e36043ad5c3d0ae7a6 Mon Sep 17 00:00:00 2001 From: Aras14HD Date: Mon, 16 Mar 2026 11:12:02 +0100 Subject: [PATCH] allow escaped underscore in commands --- Cargo.lock | 6 +++--- factorion-bot-discord/Cargo.toml | 4 ++-- factorion-bot-reddit/Cargo.toml | 4 ++-- factorion-lib/Cargo.toml | 2 +- factorion-lib/src/comment.rs | 16 ++++++++++++---- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 651aa30..912fe0c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -399,7 +399,7 @@ dependencies = [ [[package]] name = "factorion-bot-discord" -version = "3.0.0" +version = "3.0.1" dependencies = [ "anyhow", "dotenvy", @@ -414,7 +414,7 @@ dependencies = [ [[package]] name = "factorion-bot-reddit" -version = "6.0.0" +version = "6.0.1" dependencies = [ "anyhow", "base64 0.22.1", @@ -434,7 +434,7 @@ dependencies = [ [[package]] name = "factorion-lib" -version = "6.0.0" +version = "6.0.1" dependencies = [ "arbtest", "chrono", diff --git a/factorion-bot-discord/Cargo.toml b/factorion-bot-discord/Cargo.toml index 5264ded..e81ae34 100644 --- a/factorion-bot-discord/Cargo.toml +++ b/factorion-bot-discord/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "factorion-bot-discord" -version = "3.0.0" +version = "3.0.1" edition = "2024" description = "factorion-bot (for factorials and related) on Discord" license = "MIT" @@ -10,7 +10,7 @@ keywords = ["factorial", "termial", "bot", "math", "discord"] categories = ["mathematics", "web-programming", "parser-implementations"] [dependencies] -factorion-lib = { path = "../factorion-lib", version = "6.0.0", features = ["serde", "influxdb"] } +factorion-lib = { path = "../factorion-lib", version = "6.0.1", features = ["serde", "influxdb"] } serenity = { version = "0.12", default-features = false, features = ["client", "gateway", "rustls_backend", "model", "cache"] } tokio = { version = "1.48.0", features = ["macros", "rt-multi-thread", "time"] } dotenvy = "^0.15.7" diff --git a/factorion-bot-reddit/Cargo.toml b/factorion-bot-reddit/Cargo.toml index e7c7602..a06fc0e 100644 --- a/factorion-bot-reddit/Cargo.toml +++ b/factorion-bot-reddit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "factorion-bot-reddit" -version = "6.0.0" +version = "6.0.1" edition = "2024" description = "factorion-bot (for factorials and related) on Reddit" license = "MIT" @@ -10,7 +10,7 @@ keywords = ["factorial", "termial", "bot", "math"] categories = ["mathematics", "web-programming", "parser-implementations"] [dependencies] -factorion-lib = {path = "../factorion-lib", version = "6.0.0", features = ["serde", "influxdb"]} +factorion-lib = {path = "../factorion-lib", version = "6.0.1", features = ["serde", "influxdb"]} reqwest = { version = "0.12.28", features = ["json", "native-tls"], default-features = false } serde = { version = "1.0.219", default-features = false, features = ["derive"] } serde_json = "1.0.140" diff --git a/factorion-lib/Cargo.toml b/factorion-lib/Cargo.toml index f0e475d..c61e90b 100644 --- a/factorion-lib/Cargo.toml +++ b/factorion-lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "factorion-lib" -version = "6.0.0" +version = "6.0.1" edition = "2024" description = "A library used to create bots to recognize and calculate factorials and related concepts" license = "MIT" diff --git a/factorion-lib/src/comment.rs b/factorion-lib/src/comment.rs index ac9127e..e4e4b6d 100644 --- a/factorion-lib/src/comment.rs +++ b/factorion-lib/src/comment.rs @@ -221,23 +221,31 @@ impl Commands { termial: Self::contains_command_format(text, "termial") || Self::contains_command_format(text, "triangle"), no_note: Self::contains_command_format(text, "no note") + || Self::contains_command_format(text, "no\\_note") || Self::contains_command_format(text, "no_note"), write_out: Self::contains_command_format(text, "write_out") - || Self::contains_command_format(text, "write_num"), + || Self::contains_command_format(text, "write\\_out") + || Self::contains_command_format(text, "write_num") + || Self::contains_command_format(text, "write\\_num"), } } pub fn overrides_from_comment_text(text: &str) -> Self { Self { shorten: !Self::contains_command_format(text, "long"), steps: !(Self::contains_command_format(text, "no steps") - || Self::contains_command_format(text, "no_steps")), + || Self::contains_command_format(text, "no_steps") + || Self::contains_command_format(text, "no\\_steps")), nested: !(Self::contains_command_format(text, "no_nest") + || Self::contains_command_format(text, "no\\_nest") || Self::contains_command_format(text, "multi")), termial: !(Self::contains_command_format(text, "no termial") - || Self::contains_command_format(text, "no_termial")), + || Self::contains_command_format(text, "no_termial") + || Self::contains_command_format(text, "no\\_termial")), no_note: !Self::contains_command_format(text, "note"), write_out: !(Self::contains_command_format(text, "dont_write_out") - || Self::contains_command_format(text, "normal_num")), + || Self::contains_command_format(text, "dont\\_write\\_out") + || Self::contains_command_format(text, "normal\\_num") + || Self::contains_command_format(text, "normal\\_num")), } } }