diff --git a/Cargo.lock b/Cargo.lock
index 2768efb..92ccefc 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -399,7 +399,7 @@ dependencies = [
[[package]]
name = "factorion-bot-discord"
-version = "3.0.5"
+version = "3.0.6"
dependencies = [
"anyhow",
"dotenvy",
@@ -414,7 +414,7 @@ dependencies = [
[[package]]
name = "factorion-bot-reddit"
-version = "6.0.6"
+version = "6.0.7"
dependencies = [
"anyhow",
"base64 0.22.1",
@@ -434,7 +434,7 @@ dependencies = [
[[package]]
name = "factorion-lib"
-version = "6.0.5"
+version = "6.0.6"
dependencies = [
"arbtest",
"chrono",
diff --git a/factorion-bot-discord/Cargo.toml b/factorion-bot-discord/Cargo.toml
index ae505b0..72a9b56 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.5"
+version = "3.0.6"
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.5", features = ["serde", "influxdb"] }
+factorion-lib = { path = "../factorion-lib", version = "6.0.6", 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 1b253f6..d573f3f 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.6"
+version = "6.0.7"
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.5", features = ["serde", "influxdb"]}
+factorion-lib = {path = "../factorion-lib", version = "6.0.6", 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.145"
diff --git a/factorion-bot-reddit/README.md b/factorion-bot-reddit/README.md
index 323ee89..4cbab4a 100644
--- a/factorion-bot-reddit/README.md
+++ b/factorion-bot-reddit/README.md
@@ -14,7 +14,7 @@ This little fella is currently running on r/mathmemes, r/unexpectedfac
## Table of Contents
- [Getting Started](#getting-started)
- - [Prerequisites](#prerequisites)
+ - [Prerequisites](#prerequisites)
- [Reddit API Credentials](#reddit-api-credentials)
- [Installation](#installation)
- [Configuration](#configuration)
diff --git a/factorion-bot-reddit/subreddits.json b/factorion-bot-reddit/subreddits.json
index 274654a..6375a23 100644
--- a/factorion-bot-reddit/subreddits.json
+++ b/factorion-bot-reddit/subreddits.json
@@ -45,7 +45,6 @@
"locale": "tr",
"mode": "All"
},
-
"russia": {
"locale": "de"
},
@@ -130,7 +129,7 @@
"learndutch": {
"locale": "nl"
},
- "taalfout": {
+ "taalfout": {
"locale": "nl"
},
"cirkeltrek": {
@@ -145,7 +144,132 @@
"PaleisTeHuur": {
"locale": "nl"
},
-
+ "actu_memes": {
+ "locale": "fr"
+ },
+ "actualite": {
+ "locale": "fr"
+ },
+ "actufoot": {
+ "locale": "fr"
+ },
+ "AntiTaff": {
+ "locale": "fr"
+ },
+ "AskFrance": {
+ "locale": "fr"
+ },
+ "AskMeuf": {
+ "locale": "fr"
+ },
+ "AujourdhuiJaiAppris": {
+ "locale": "fr"
+ },
+ "banalgens": {
+ "locale": "fr"
+ },
+ "besoindeparler": {
+ "locale": "fr"
+ },
+ "CestQuoiCeTruc": {
+ "locale": "fr"
+ },
+ "chats": {
+ "locale": "fr"
+ },
+ "CineSeries": {
+ "locale": "fr"
+ },
+ "Confessionnal": {
+ "locale": "fr"
+ },
+ "conseiljuridique": {
+ "locale": "fr"
+ },
+ "developpeurs": {
+ "locale": "fr"
+ },
+ "Dinosaure": {
+ "locale": "fr"
+ },
+ "ecologie": {
+ "locale": "fr"
+ },
+ "EnculerLesVoitures": {
+ "locale": "fr"
+ },
+ "enseignants": {
+ "locale": "fr"
+ },
+ "france": {
+ "locale": "fr"
+ },
+ "francophonie": {
+ "locale": "fr"
+ },
+ "geographie": {
+ "locale": "fr"
+ },
+ "Histoire": {
+ "locale": "fr"
+ },
+ "immobilier": {
+ "locale": "fr"
+ },
+ "jeuxvideo": {
+ "locale": "fr"
+ },
+ "joueurdugrenier": {
+ "locale": "fr"
+ },
+ "lamourestdanslepre": {
+ "locale": "fr"
+ },
+ "lemauvaiscoin": {
+ "locale": "fr"
+ },
+ "Livres": {
+ "locale": "fr"
+ },
+ "MinecraftFR": {
+ "locale": "fr"
+ },
+ "opinionnonpopulaire": {
+ "locale": "fr"
+ },
+ "ParentingFR": {
+ "locale": "fr"
+ },
+ "PasDeQuestionIdiote": {
+ "locale": "fr"
+ },
+ "PetitsBonheurs": {
+ "locale": "fr"
+ },
+ "questionsante": {
+ "locale": "fr"
+ },
+ "rance": {
+ "locale": "fr"
+ },
+ "rienabranler": {
+ "locale": "fr"
+ },
+ "SportsFR": {
+ "locale": "fr"
+ },
+ "suisjeletroudeballe": {
+ "locale": "fr"
+ },
+ "TropPeurDeDemander": {
+ "locale": "fr"
+ },
+ "voiture": {
+ "locale": "fr"
+ },
+ "vosfinances": {
+ "locale": "fr"
+ },
"": {
"commands": {
"shorten": true
diff --git a/factorion-lib/Cargo.toml b/factorion-lib/Cargo.toml
index ef1eb02..0bce288 100644
--- a/factorion-lib/Cargo.toml
+++ b/factorion-lib/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "factorion-lib"
-version = "6.0.5"
+version = "6.0.6"
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/fr.json b/factorion-lib/src/fr.json
new file mode 100644
index 0000000..b84c609
--- /dev/null
+++ b/factorion-lib/src/fr.json
@@ -0,0 +1,44 @@
+{
+ "bot_disclaimer": "Cette action a été effectuée par un bot | [Code source](http://f.r0.fyi)",
+ "notes": {
+ "tower": "C'est tellement grand que je ne peux même pas donner son nombre de chiffres, je dois donc utiliser une tour de puissances de dix.",
+ "tower_mult": "Certains d'entre eux sont tellement grands que je ne peux même pas donner leur nombre de chiffres, je dois donc utiliser une tour de puissances de dix.",
+ "digits": "Ce nombre est si grand que je ne peux même pas bien l'estimer, je ne peux donc vous donner qu'une approximation de son nombre de chiffres.",
+ "digits_mult": "Certains de ces nombres sont si grands que je ne peux même pas bien les estimer, je ne peux donc vous donner qu'une approximation de leur nombre de chiffres.",
+ "approx": "C'est tellement grand que je ne peux pas le calculer, je vais donc devoir l'estimer.",
+ "approx_mult": "Certains de ces nombres sont si grands que je ne peux pas les calculer, je vais donc devoir les estimer.",
+ "round": "Je ne peux pas calculer une si grande factorielle de nombres décimaux. J'ai donc dû arrondir à un moment donné.",
+ "round_mult": "Je ne peux pas calculer de si grandes factorielles de nombres décimaux. J'ai donc dû arrondir à un moment donné.",
+ "too_big": "Si je postais le nombre en entier, le commentaire serait trop long. J'ai donc dû le convertir en notation scientifique.",
+ "too_big_mult": "Si je postais les nombres en entier, le commentaire serait trop long. J'ai donc dû les convertir en notation scientifique.",
+ "remove": "Si je postais tous les nombres, le commentaire serait trop long. J'ai donc dû en supprimer certains.",
+ "tetration": "C'est tellement grand que ça ne rentre même pas dans un commentaire avec une tour de puissances de 10, je vais donc devoir utiliser la tétration !",
+ "no_post": "Désolé, mais le texte de réponse pour tous ces nombres serait _vraiment_ long, donc je préfère même pas essayer de poster mdr",
+ "limit_hit": "Je me suis assez répété, je ne referai pas ce calcul.",
+ "mention": "Salut {mention} !"
+ },
+ "format": {
+ "number_format": {
+ "decimal": ","
+ },
+ "capitalize_calc": false,
+ "termial": "termielle",
+ "factorial": "factorielle",
+ "uple": "uple-{factorial}",
+ "sub": "sous-{factorial}",
+ "negative": "{factorial} négative",
+ "num_overrides": {
+ "2": "double-{factorial}",
+ "3": "triple-{factorial}"
+ },
+ "force_num": false,
+ "nest": "{factorial} de {next}",
+ "exact": "La {factorial} de {number} est {result}",
+ "rough": "La {factorial} de {number} est à peu près {result}",
+ "approx": "La {factorial} de {number} est d'environ {result}",
+ "digits": "La {factorial} de {number} a environ {result} chiffres",
+ "order": "La {factorial} de {number} a de l'ordre de {result} chiffres",
+ "all_that": "Tout ça de {number} a de l'ordre de {result} chiffres",
+ "rough_number": "environ {number}"
+ }
+}
diff --git a/factorion-lib/src/locale.rs b/factorion-lib/src/locale.rs
index 55c36ea..082edbf 100644
--- a/factorion-lib/src/locale.rs
+++ b/factorion-lib/src/locale.rs
@@ -25,6 +25,10 @@ pub fn get_it() -> Locale<'static> {
serde_json::de::from_str(include_str!("it.json")).unwrap()
}
#[cfg(any(feature = "serde", test))]
+pub fn get_fr() -> Locale<'static> {
+ serde_json::de::from_str(include_str!("fr.json")).unwrap()
+}
+#[cfg(any(feature = "serde", test))]
pub fn get_nl() -> Locale<'static> {
serde_json::de::from_str(include_str!("nl.json")).unwrap()
}
@@ -36,6 +40,7 @@ pub fn get_all() -> impl Iterator- )> {
("de", get_de()),
("ru", get_ru()),
("it", get_it()),
+ ("fr", get_fr()),
("nl", get_nl()),
]
.into_iter()