From ee43ad8f83f5e008eb8e0163b6634e4defb7a779 Mon Sep 17 00:00:00 2001 From: Petal Ladenson Date: Tue, 10 Oct 2023 22:03:36 -0600 Subject: [PATCH] feat: logclean for annabelle's embed log format --- PluralKit.Bot/Services/LoggerCleanService.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/PluralKit.Bot/Services/LoggerCleanService.cs b/PluralKit.Bot/Services/LoggerCleanService.cs index fc5855c9..d4fc3aa5 100644 --- a/PluralKit.Bot/Services/LoggerCleanService.cs +++ b/PluralKit.Bot/Services/LoggerCleanService.cs @@ -42,6 +42,7 @@ public class LoggerCleanService private static readonly Regex _ProBotRegex = new("\\*\\*Message sent by <@(\\d{17,19})> deleted in <#\\d{17,19}>.\\*\\*"); private static readonly Regex _DozerRegex = new("Message ID: (\\d{17,19}) - (\\d{17,19})\nUserID: (\\d{17,19})"); private static readonly Regex _SkyraRegex = new("https://discord.com/channels/(\\d{17,19})/(\\d{17,19})/(\\d{17,19})"); + private static readonly Regex _AnnabelleRegex = new("```\n(\\d{17,19})\n```"); private static readonly Regex _VortexRegex = new("`\\[(\\d\\d:\\d\\d:\\d\\d)\\]` .* \\(ID:(\\d{17,19})\\).* <#\\d{17,19}>:"); @@ -79,6 +80,7 @@ public class LoggerCleanService new LoggerBot("ProBot Prime", 567703512763334685, fuzzyExtractFunc: ExtractProBot), // webhook (?) new LoggerBot("Dozer", 356535250932858885, ExtractDozer), new LoggerBot("Skyra", 266624760782258186, ExtractSkyra), + new LoggerBot("Annabelle", 231241068383961088, ExtractAnnabelle), }.ToDictionary(b => b.Id); private static Dictionary _botsByApplicationId @@ -407,6 +409,14 @@ public class LoggerCleanService return match.Success ? ulong.Parse(match.Groups[3].Value) : null; } + private static ulong? ExtractAnnabelle(Message msg) + { + var embed = msg.Embeds?.FirstOrDefault(); + if (embed?.Author?.Name == null || !embed.Author.Name.EndsWith("Deleted Message")) return null; + var match = _AnnabelleRegex.Match(embed.Fields[2].Value); + return match.Success ? ulong.Parse(match.Groups[1].Value) : null; + } + public class LoggerBot { public ulong Id;