fix: issues with urls being cut in half at the end of replies and "…" unnecessarily being appended at the end

This commit is contained in:
Zoe Martin 2021-06-25 15:05:25 +02:00
parent d1c6794330
commit e9da1a80b7
No known key found for this signature in database
GPG Key ID: 65238C3E138FFBE9

View File

@ -185,10 +185,19 @@ namespace PluralKit.Bot
msg += mentionTail + ">"; msg += mentionTail + ">";
} }
var endsWithUrl = Regex.IsMatch(msg,
@"(http|https)?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$");
if (endsWithUrl)
{
var urlTail = repliedTo.Content.Substring(100).Split(" ")[0];
msg += urlTail + " ";
}
var spoilersInOriginalString = Regex.Matches(repliedTo.Content, @"\|\|").Count; var spoilersInOriginalString = Regex.Matches(repliedTo.Content, @"\|\|").Count;
var spoilersInTruncatedString = Regex.Matches(msg, @"\|\|").Count; var spoilersInTruncatedString = Regex.Matches(msg, @"\|\|").Count;
if (spoilersInTruncatedString % 2 == 1 && spoilersInOriginalString % 2 == 0) if (spoilersInTruncatedString % 2 == 1 && spoilersInOriginalString % 2 == 0)
msg += "||"; msg += "||";
if (msg != repliedTo.Content)
msg += "…"; msg += "…";
} }