From c3f6becea4060fec21558874b97871967464e7d8 Mon Sep 17 00:00:00 2001 From: Ske Date: Mon, 21 Dec 2020 03:16:48 +0100 Subject: [PATCH] Fix truncated spoiler tags in replies --- PluralKit.Bot/Proxy/ProxyService.cs | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/PluralKit.Bot/Proxy/ProxyService.cs b/PluralKit.Bot/Proxy/ProxyService.cs index 7d44ed13..ed02af8c 100644 --- a/PluralKit.Bot/Proxy/ProxyService.cs +++ b/PluralKit.Bot/Proxy/ProxyService.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; +using System.Text.RegularExpressions; using System.Threading.Tasks; using App.Metrics; @@ -10,8 +11,6 @@ using DSharpPlus; using DSharpPlus.Entities; using DSharpPlus.Exceptions; -using Humanizer; - using PluralKit.Core; using Serilog; @@ -145,8 +144,19 @@ namespace PluralKit.Bot var hasContent = !string.IsNullOrWhiteSpace(original.Content); if (hasContent) { + var msg = original.Content; + if (msg.Length > 100) + { + msg = original.Content.Substring(0, 100); + var spoilersInOriginalString = Regex.Matches(original.Content, @"\|\|").Count; + var spoilersInTruncatedString = Regex.Matches(msg, @"\|\|").Count; + if (spoilersInTruncatedString % 2 == 1 && spoilersInOriginalString % 2 == 0) + msg += "||"; + msg += "…"; + } + content.Append($"**[Reply to:]({original.JumpLink})** "); - content.Append($"{original.Content.Truncate(100)}"); + content.Append(msg); if (original.Attachments.Count > 0) content.Append($" {Emojis.Paperclip}"); }