/// <summary>
        /// Get a guild icon URL
        /// </summary>
        public static string GetIconUrl(
            DiscordGuildPacket packet,
            ImageType type = ImageType.AUTO,
            ImageSize size = ImageSize.x128)
        {
            if (type == ImageType.AUTO)
            {
                type = packet.Icon.StartsWith("a_")
                    ? ImageType.GIF
                    : ImageType.PNG;
            }

            var imgType = type.ToString().ToLowerInvariant();

            return($"{CdnUrl}/icons/{packet.Id}/{packet.Icon}.{imgType}?size={(int)size}");
        }
 public void OverwriteContext(DiscordGuildPacket guild)
 {
     Name                        = guild.Name;
     Icon                        = guild.Icon;
     Splash                      = guild.Splash;
     OwnerId                     = guild.OwnerId;
     Region                      = guild.Region;
     AfkChannelId                = guild.AfkChannelId;
     AfkTimeout                  = guild.AfkTimeout;
     Permissions                 = guild.Permissions;
     EmbedEnabled                = guild.EmbedEnabled;
     EmbedChannelId              = guild.EmbedChannelId;
     VerificationLevel           = guild.VerificationLevel;
     DefaultMessageNotifications = guild.DefaultMessageNotifications;
     ExplicitContentFilter       = guild.ExplicitContentFilter;
     MFALevel                    = guild.MFALevel;
     ApplicationId               = guild.ApplicationId;
     WidgetEnabled               = guild.WidgetEnabled;
     WidgetChannelId             = guild.WidgetChannelId;
     SystemChannelId             = guild.SystemChannelId;
     PremiumTier                 = guild.PremiumTier;
     PremiumSubscriberCount      = guild.PremiumSubscriberCount;
 }