diff --git a/src/Discord.Net.Core/CDN.cs b/src/Discord.Net.Core/CDN.cs
index 9155869f7..bc8d96f86 100644
--- a/src/Discord.Net.Core/CDN.cs
+++ b/src/Discord.Net.Core/CDN.cs
@@ -56,10 +56,13 @@ namespace Discord
///
/// A URL pointing to the guild's icon in the specified size.
///
- public static string GetGuildIconUrl(ulong guildId, string iconId, ushort size, ImageFormat format)
+ public static string GetGuildIconUrl(ulong guildId, string iconId, ImageFormat format, ushort size)
{
if (string.IsNullOrWhiteSpace(iconId))
return null;
+ if (format == ImageFormat.Gif)
+ throw new ArgumentException("Requested image format mustn't be a gif.");
+
string extension = FormatToExtension(format, iconId);
return $"{DiscordConfig.CDNUrl}icons/{guildId}/{iconId}.{extension}?size={size}";
}
diff --git a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs
index 1cf586a7c..6552dc768 100644
--- a/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs
+++ b/src/Discord.Net.Rest/Entities/Guilds/RestGuild.cs
@@ -60,7 +60,7 @@ namespace Discord.Rest
public ulong DefaultChannelId => Id;
///
public string GetIconUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128)
- => CDN.GetGuildIconUrl(Id, IconId, size, format);
+ => CDN.GetGuildIconUrl(Id, IconId, format, size);
///
public string SplashUrl => CDN.GetGuildSplashUrl(Id, SplashId);
diff --git a/src/Discord.Net.Rest/Entities/Guilds/RestUserGuild.cs b/src/Discord.Net.Rest/Entities/Guilds/RestUserGuild.cs
index af841582e..9bd2fb442 100644
--- a/src/Discord.Net.Rest/Entities/Guilds/RestUserGuild.cs
+++ b/src/Discord.Net.Rest/Entities/Guilds/RestUserGuild.cs
@@ -21,7 +21,7 @@ namespace Discord.Rest
public DateTimeOffset CreatedAt => SnowflakeUtils.FromSnowflake(Id);
///
public string GetIconUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128)
- => CDN.GetGuildIconUrl(Id, _iconId, size, format);
+ => CDN.GetGuildIconUrl(Id, _iconId, format, size);
internal RestUserGuild(BaseDiscordClient discord, ulong id)
: base(discord, id)
diff --git a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs
index f22b4705c..2a210ecd3 100644
--- a/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs
+++ b/src/Discord.Net.WebSocket/Entities/Guilds/SocketGuild.cs
@@ -98,7 +98,7 @@ namespace Discord.WebSocket
public DateTimeOffset CreatedAt => SnowflakeUtils.FromSnowflake(Id);
///
public string GetIconUrl(ImageFormat format = ImageFormat.Auto, ushort size = 128)
- => CDN.GetGuildIconUrl(Id, IconId, size, format);
+ => CDN.GetGuildIconUrl(Id, IconId, format, size);
///
public string SplashUrl => CDN.GetGuildSplashUrl(Id, SplashId);
/// Indicates whether the client has all the members downloaded to the local guild cache.