From 4e358e8e6fe36fedb9d3f652de157ec356e3f223 Mon Sep 17 00:00:00 2001 From: Oleksii Holub <1935960+Tyrrrz@users.noreply.github.com> Date: Thu, 25 Aug 2022 21:38:59 +0300 Subject: [PATCH] Add support for animated guild icons Closes #900 --- DiscordChatExporter.Core/Discord/Data/Guild.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/DiscordChatExporter.Core/Discord/Data/Guild.cs b/DiscordChatExporter.Core/Discord/Data/Guild.cs index 05e6870a..0e1779ed 100644 --- a/DiscordChatExporter.Core/Discord/Data/Guild.cs +++ b/DiscordChatExporter.Core/Discord/Data/Guild.cs @@ -1,4 +1,5 @@ -using System.Text.Json; +using System; +using System.Text.Json; using DiscordChatExporter.Core.Discord.Data.Common; using DiscordChatExporter.Core.Utils.Extensions; using JsonExtensions.Reading; @@ -17,8 +18,14 @@ public record Guild(Snowflake Id, string Name, string IconUrl) : IHasId private static string GetDefaultIconUrl() => "https://cdn.discordapp.com/embed/avatars/0.png"; - private static string GetIconUrl(Snowflake id, string iconHash) => - $"https://cdn.discordapp.com/icons/{id}/{iconHash}.png"; + private static string GetIconUrl(Snowflake id, string iconHash) + { + var extension = iconHash.StartsWith("a_", StringComparison.Ordinal) + ? "gif" + : "png"; + + return $"https://cdn.discordapp.com/icons/{id}/{iconHash}.{extension}"; + } public static Guild Parse(JsonElement json) {