Don't force avatar formats

This commit is contained in:
Christopher F
2017-02-23 16:11:34 -05:00
parent a5adc8a129
commit c486f0ee50
6 changed files with 16 additions and 6 deletions

View File

@@ -4,8 +4,8 @@
{
public static string GetApplicationIconUrl(ulong appId, string iconId)
=> iconId != null ? $"{DiscordConfig.CDNUrl}app-icons/{appId}/{iconId}.jpg" : null;
public static string GetUserAvatarUrl(ulong userId, string avatarId, ushort size)
=> avatarId != null ? $"{DiscordConfig.CDNUrl}avatars/{userId}/{avatarId}.webp?size={size}" : null;
public static string GetUserAvatarUrl(ulong userId, string avatarId, ushort size, AvatarFormat format)
=> avatarId != null ? $"{DiscordConfig.CDNUrl}avatars/{userId}/{avatarId}.{format.ToString().ToLower()}?size={size}" : null;
public static string GetGuildIconUrl(ulong guildId, string iconId)
=> iconId != null ? $"{DiscordConfig.CDNUrl}icons/{guildId}/{iconId}.jpg" : null;
public static string GetGuildSplashUrl(ulong guildId, string splashId)

View File

@@ -0,0 +1,10 @@
namespace Discord
{
public enum AvatarFormat
{
WebP,
Png,
Jpeg,
Gif,
}
}

View File

@@ -7,7 +7,7 @@ namespace Discord
/// <summary> Gets the id of this user's avatar. </summary>
string AvatarId { get; }
/// <summary> Gets the url to this user's avatar. </summary>
string GetAvatarUrl(ushort size = 1024);
string GetAvatarUrl(AvatarFormat format = AvatarFormat.Png, ushort size = 128);
/// <summary> Gets the per-username unique id for this user. </summary>
string Discriminator { get; }
/// <summary> Gets the per-username unique id for this user. </summary>

View File

@@ -13,7 +13,7 @@ namespace Discord.Rest
public ushort DiscriminatorValue { get; private set; }
public string AvatarId { get; private set; }
public string GetAvatarUrl(ushort size) => CDN.GetUserAvatarUrl(Id, AvatarId, size);
public string GetAvatarUrl(AvatarFormat format = AvatarFormat.Png, ushort size = 128) => CDN.GetUserAvatarUrl(Id, AvatarId, size, format);
public DateTimeOffset CreatedAt => DateTimeUtils.FromSnowflake(Id);
public string Discriminator => DiscriminatorValue.ToString("D4");
public string Mention => MentionUtils.MentionUser(Id);

View File

@@ -14,7 +14,7 @@ namespace Discord.Rpc
public ushort DiscriminatorValue { get; private set; }
public string AvatarId { get; private set; }
public string GetAvatarUrl(ushort size) => CDN.GetUserAvatarUrl(Id, AvatarId, size);
public string GetAvatarUrl(AvatarFormat format = AvatarFormat.Png, ushort size = 128) => CDN.GetUserAvatarUrl(Id, AvatarId, size, format);
public DateTimeOffset CreatedAt => DateTimeUtils.FromSnowflake(Id);
public string Discriminator => DiscriminatorValue.ToString("D4");
public string Mention => MentionUtils.MentionUser(Id);

View File

@@ -15,7 +15,7 @@ namespace Discord.WebSocket
internal abstract SocketGlobalUser GlobalUser { get; }
internal abstract SocketPresence Presence { get; set; }
public string GetAvatarUrl(ushort size) => CDN.GetUserAvatarUrl(Id, AvatarId, size);
public string GetAvatarUrl(AvatarFormat format = AvatarFormat.Png, ushort size = 128) => CDN.GetUserAvatarUrl(Id, AvatarId, size, format);
public DateTimeOffset CreatedAt => DateTimeUtils.FromSnowflake(Id);
public string Discriminator => DiscriminatorValue.ToString("D4");
public string Mention => MentionUtils.MentionUser(Id);