From f1f52aa3aa848be09abd55f3264e841e392bb64a Mon Sep 17 00:00:00 2001 From: Byte Dice Date: Thu, 7 Aug 2025 17:56:51 +0200 Subject: [PATCH] massively reduced the size of the data section in the discord embeds --- cfg/8-ball_quirky.txt | 6 +++--- data/lang/en.json | 2 +- data/lang/gpt_fr.json | 2 +- src/messages.rs | 22 ++++++++++++++++++++-- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/cfg/8-ball_quirky.txt b/cfg/8-ball_quirky.txt index a530560..0918a09 100644 --- a/cfg/8-ball_quirky.txt +++ b/cfg/8-ball_quirky.txt @@ -4,11 +4,11 @@ Error 404: Answer not found. Consult your nearest wizard. Why should I know? Go ask your cat or something. The stars say yes, but the moon disagrees. -You don’t want to know... trust me. -Sure, but don’t quote me on that. +You don't want to know... trust me. +Sure, but don't quote me on that. In an alternate universe, yes. Why are you asking a stupid bot? Only if you bring snacks. -Flip a coin, I’m on break. +Flip a coin, I'm on break. The spirits are buffering... please wait. You already know the answer. \ No newline at end of file diff --git a/data/lang/en.json b/data/lang/en.json index e7f6363..4b342e8 100644 --- a/data/lang/en.json +++ b/data/lang/en.json @@ -14,7 +14,7 @@ "dc_msg_dm_python_err_socket": "Unknown internal Python error occurred: Websocket response error", "dc_msg_dm_python_err": "Unknown internal Python Error:\n```\n{0}\n```", "dc_msg_embed_default_embed_desc": "Default english embed description.", - "dc_msg_embed_re_post": "Spoilers and vote length anonymizer for fair review!\n## Post Data:\n**Subreddit:** {0}\n**Post upvotes:** ||`{1:>6}`||\n**Moderator votes:** ||`{2:>6}`||\n**Media type:** `{3}`\n**URL:** ||<{4}>||\n\n## Listing Data:\n**Added by:** human: {5} | bot: {6}\n**Approved by:** human: {7} | bot: [not implemented]", + "dc_msg_embed_re_post": "Spoilers and vote length anonymizer for fair review!\n## Post Data:\n**Subreddit:** {0}\n**Post upvotes:** ||`{1:>6}`||\n**Moderator votes:** ||`{2:>6}`||\n**Media type:** `{3}`\n## Listing Data:\n**Added by:** human: {4} | bot: {5}\n**Approved:** {6}", "dc_msg_embed_re_removed": "## Removed by `{0}`\n**Reason:** {1}\n**URL**: ||<{2}>||", "dc_msg_err_trace": "Unknown error!\nError trace: {0}", "dc_msg_failed_shorturl_conversion": "Couldn't convert to shortURL: Invalid Reddit URL format.", diff --git a/data/lang/gpt_fr.json b/data/lang/gpt_fr.json index d36e78d..a510adc 100644 --- a/data/lang/gpt_fr.json +++ b/data/lang/gpt_fr.json @@ -14,7 +14,7 @@ "dc_msg_dm_python_err_socket": "Erreur Python interne inconnue : erreur de réponse WebSocket", "dc_msg_dm_python_err": "Erreur Python interne inconnue :\n```\n{0}\n```", "dc_msg_embed_default_embed_desc": "Description par défaut de l'encart en anglais.", - "dc_msg_embed_re_post": "Spoilers et anonymiseur de durée des votes pour une évaluation équitable !\n## Données du post :\n**Subreddit :** {0}\n**Votes positifs du post :** ||`{1:>6}`||\n**Votes des modérateurs :** ||`{2:>6}`||\n**Type de média :** `{3}`\n**URL :** ||<{4}>||\n\n## Données d'inscription :\n**Ajouté par :** humain : {5} | bot : {6}\n**Approuvé par :** humain : {7} | bot : [non implémenté]", + "dc_msg_embed_re_post": "Spoilers et anonymiseur de durée des votes pour une évaluation équitable !\n## Données du post :\n**Subreddit :** {0}\n**Votes positifs du post :** ||`{1:>6}`||\n**Votes des modérateurs :** ||`{2:>6}`||\n**Type de média :** `{3}`\n## Données d'inscription :\n**Ajouté par :** humain : {4} | bot : {5}\n**Approuvé:** {6}", "dc_msg_embed_re_removed": "## Supprimé par `{0}`\n**Raison :** {1}\n**URL** : ||<{2}>||", "dc_msg_err_trace": "Erreur inconnue !\nTrace de l’erreur : {0}", "dc_msg_failed_shorturl_conversion": "Échec de la conversion en shortURL : format d’URL Reddit invalide.", diff --git a/src/messages.rs b/src/messages.rs index 5853300..64b3ded 100644 --- a/src/messages.rs +++ b/src/messages.rs @@ -11,6 +11,7 @@ use flate2::Compression; use poise::serenity_prelude::json::Value; use poise::{serenity_prelude::CreateMessage, CreateReply, ReplyHandle}; use poise::serenity_prelude::{ChannelId, Color, CreateActionRow, CreateButton, CreateEmbed, CreateEmbedAuthor, EditMessage, Http, Message, ReactionType, Timestamp, UserId}; +use serde_json::json; #[derive(Clone)] @@ -223,7 +224,6 @@ pub fn make_post_embed(post_data: &Value, url: &str, ephemeral: bool) -> EmbedOp post_data["post_data"]["upvotes"].as_i64().unwrap(), post_data["votes"]["mod_voters"].as_array().unwrap().len(), if !media_type.is_null() { media_type.as_str().unwrap() } else { "None" }, - url, if post_data["added"] ["by_human"].as_bool().unwrap() { "✅" } else { "❌" }, if post_data["added"] ["by_bot"].as_bool().unwrap() { "✅" } else { "❌" }, @@ -287,7 +287,25 @@ pub fn make_removed_embed(post_data: &Value, url: &str, ephemeral: bool) -> Embe pub fn trim_post_json(j: &Value) -> Value { let mut json_trimmed = j.clone(); - json_trimmed["post_data"].as_object_mut().unwrap().remove("media_urls"); + + if let Some(obj) = json_trimmed["post_data"].as_object_mut() { + obj.remove("media_urls"); + obj.remove("subreddit"); + obj.remove("title"); + obj.remove("date_unix"); + obj.remove("media_type"); + } + + if let Some(obj) = json_trimmed["votes"].as_object_mut() { + obj.remove("voters_re"); + obj["voters_dc"] = json!(obj["voters_dc"].as_array().unwrap().len()); + obj["mod_voters"] = json!(obj["mod_voters"].as_array().unwrap().len()); + } + + if let Some(obj) = json_trimmed["approved"].as_object_mut() { + obj.remove("by_ris"); + } + return json_trimmed; }