From 8e5269f0ab42d4ebd66e99be68d3be38301e105f Mon Sep 17 00:00:00 2001 From: Tyrrrz <1935960+Tyrrrz@users.noreply.github.com> Date: Tue, 14 Feb 2023 19:54:16 +0200 Subject: [PATCH] Use proxy URL for generic image embeds --- DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs | 4 ++++ DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs | 5 ++--- .../Exporting/MessageGroupTemplate.cshtml | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs index 619550f..2839ccb 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs @@ -23,6 +23,10 @@ public partial record Embed( EmbedVideo? Video, EmbedFooter? Footer) { + // Embeds can only have one image according to the API model, + // but the client can render multiple images in some cases. + public EmbedImage? Image => Images.FirstOrDefault(); + public SpotifyTrackEmbedProjection? TryGetSpotifyTrack() => SpotifyTrackEmbedProjection.TryResolve(this); diff --git a/DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs b/DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs index 514e431..5aabd51 100644 --- a/DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs +++ b/DiscordChatExporter.Core/Exporting/JsonMessageWriter.cs @@ -150,11 +150,10 @@ internal class JsonMessageWriter : MessageWriter await WriteEmbedImageAsync(embed.Thumbnail, cancellationToken); } - // Legacy: backwards-compatibility for old embeds with a single image - if (embed.Images.Count > 0) + if (embed.Image is not null) { _writer.WritePropertyName("image"); - await WriteEmbedImageAsync(embed.Images[0], cancellationToken); + await WriteEmbedImageAsync(embed.Image, cancellationToken); } if (embed.Footer is not null) diff --git a/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml b/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml index 29d8156..10e64c3 100644 --- a/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml +++ b/DiscordChatExporter.Core/Exporting/MessageGroupTemplate.cshtml @@ -392,11 +392,11 @@ } // Generic image embed - else if (embed.Kind == EmbedKind.Image && !string.IsNullOrWhiteSpace(embed.Url)) + else if (embed.Kind == EmbedKind.Image && !string.IsNullOrWhiteSpace(embed.Image?.Url)) {
- - Embedded image + + Embedded image
}