Implemented bbcode translation for Kick emotes using an extension method and regex

This commit is contained in:
barelyprofessional
2024-03-26 13:38:33 +08:00
parent 9f92fc8e27
commit 96e553845f

View File

@@ -0,0 +1,30 @@
using System.Text.RegularExpressions;
namespace KfChatDotNetKickBot;
public static class Extensions
{
/// Emotes are encoded like [emote:161238:russW] which translates to -> https://files.kick.com/emotes/161238/fullsize
public static string TranslateKickEmotes(this string s)
{
Regex regex = new Regex(@"\[(.+?):(\d+):(\S+)\]");
var matches = regex.Matches(s);
if (matches.Count == 0)
{
return s;
}
foreach (Match match in matches)
{
// First group is the whole matched string
// 0 -> [emote:161238:russW]
// 1 -> emote
// 2 -> 161238
// 3 -> russW
var emoteId = match.Groups[2];
s = s.Replace(match.Value, $"[img]https://files.kick.com/emotes/{emoteId}/fullsize[/img]");
}
return s;
}
}