private static string FormatUrl(string path, CdnAssetFormat format, int?size) { if (size != null) { var value = size.Value; if (value < 16 || value > 2048 || (value & -value) != value) { throw new ArgumentOutOfRangeException(nameof(size), "Size must be a power of 2 between 16 and 2048."); } } if (format == CdnAssetFormat.Automatic) { // If the calling methods didn't overwrite the value we default to PNG. format = CdnAssetFormat.Png; } var stringBuilder = new StringBuilder(BaseAddress); stringBuilder.Append(path); var formatString = GetFormatString(format); if (formatString != null) { stringBuilder.Append('.').Append(formatString); } if (size != null) { stringBuilder.Append("?size=").Append(size); } return(stringBuilder.ToString()); }
public static string GetIconUrl(this IApplicationTeam team, CdnAssetFormat format = default, int?size = null) { var iconHash = team.IconHash; return(iconHash != null ? Discord.Cdn.GetTeamIconUrl(team.Id, iconHash, format, size) : null); }
public static string GetGuildAvatarUrl(this IMember member, CdnAssetFormat format = default, int?size = null) { var avatarHash = member.GuildAvatarHash; return(avatarHash != null ? Discord.Cdn.GetGuildAvatarUrl(member.GuildId, member.Id, avatarHash, format, size) : member.GetAvatarUrl(format, size)); }
public static string GetBannerUrl(this IGuild guild, CdnAssetFormat format = default, int?size = null) { var bannerHash = guild.BannerHash; return(bannerHash != null ? Discord.Cdn.GetGuildBannerUrl(guild.Id, bannerHash, format, size) : null); }
public static string GetAvatarUrl(this IUser user, CdnAssetFormat format = default, int?size = null) { var avatarHash = user.AvatarHash; return(avatarHash != null ? Discord.Cdn.GetAvatarUrl(user.Id, avatarHash, format, size) : Discord.Cdn.GetDefaultAvatarUrl(user.Discriminator)); }
public static string GetIconUrl(this IGuild guild, CdnAssetFormat format = default, int?size = null) { var iconHash = guild.IconHash; return(iconHash != null ? Discord.Cdn.GetGuildIconUrl(guild.Id, iconHash, format, size) : null); }
public static string GetDiscoverySplashUrl(this IGuild guild, CdnAssetFormat format = default, int?size = null) { var discoverySplashHash = guild.DiscoverySplashHash; return(discoverySplashHash != null ? Discord.Cdn.GetGuildDiscoverySplashUrl(guild.Id, discoverySplashHash, format, size) : null); }
public static string GetCoverUrl(this IStoreApplication application, CdnAssetFormat format = default, int?size = null) { var coverHash = application.CoverHash; return(coverHash != null ? Discord.Cdn.GetApplicationCoverUrl(application.Id, coverHash, format, size) : null); }
public static string GetBannerUrl(this IRestUser user, CdnAssetFormat format = default, int?size = null) { var bannerHash = user.BannerHash; return(bannerHash != null ? Discord.Cdn.GetUserBannerUrl(user.Id, bannerHash, format, size) : null); }
private static CdnAssetFormat AutomaticGifFormat(CdnAssetFormat format, string hash) { if (format != CdnAssetFormat.Automatic) { return(format); } return(hash.StartsWith("a_") ? CdnAssetFormat.Gif : CdnAssetFormat.Png); }
public static string GetIconUrl(this IApplication application, CdnAssetFormat format = default, int?size = null) { Guard.IsNotNull(application); var iconHash = application.IconHash; return(iconHash != null ? Discord.Cdn.GetApplicationIconUrl(application.Id, iconHash, format, size) : null); }
public static string GetSplashUrl(this IGuild guild, CdnAssetFormat format = default, int?size = null) { Guard.IsNotNull(guild); var splashHash = guild.SplashHash; return(splashHash != null ? Discord.Cdn.GetGuildSplashUrl(guild.Id, splashHash, format, size) : null); }
public static string GetCoverImageUrl(this IGuildEvent @event, CdnAssetFormat format = default, int?size = null) { Guard.IsNotNull(@event); var coverImageHash = @event.CoverImageHash; return(coverImageHash != null ? Discord.Cdn.GetEventCoverImageUrl(@event.Id, coverImageHash, format, size) : null); }
public static string GetBannerUrl(this IStickerPack stickerPack, CdnAssetFormat format = default, int?size = null) { Guard.IsNotNull(stickerPack); var bannerAssetId = stickerPack.BannerAssetId; return(bannerAssetId != null ? Discord.Cdn.GetStickerPackBannerUrl(bannerAssetId.Value, format, size) : null); }
public static string GetIconUrl(this IRole role, CdnAssetFormat format = default, int?size = null) { Guard.IsNotNull(role); var iconHash = role.IconHash; return(iconHash != null ? Discord.Cdn.GetRoleIconUrl(role.Id, iconHash, format, size) : null); }
public static string GetUrl(this ICustomEmoji emoji, CdnAssetFormat format = default, int?size = null) { if (format == CdnAssetFormat.Automatic) { format = emoji.IsAnimated ? CdnAssetFormat.Gif : CdnAssetFormat.Png; } return(Discord.Cdn.GetCustomEmojiUrl(emoji.Id, format, size)); }
public static string GetApplicationAssetUrl(Snowflake applicationId, string assetId, CdnAssetFormat format = default, int?size = null) { var path = $"app-assets/{applicationId}/{assetId}"; return(FormatUrl(path, format, size)); }
public static string GetApplicationCoverUrl(Snowflake applicationId, string coverHash, CdnAssetFormat format = default, int?size = null) { var path = $"app-icons/{applicationId}/{coverHash}"; return(FormatUrl(path, format, size)); }
public static string GetGuildAvatarUrl(Snowflake guildId, Snowflake memberId, string avatarHash, CdnAssetFormat format = default, int?size = null) { var path = $"guilds/{guildId}/users/{memberId}/avatars/{avatarHash}"; return(FormatUrl(path, AutomaticGifFormat(format, avatarHash), size)); }
public static string GetAvatarUrl(Snowflake userId, string avatarHash, CdnAssetFormat format = default, int?size = null) { var path = $"avatars/{userId}/{avatarHash}"; return(FormatUrl(path, AutomaticGifFormat(format, avatarHash), size)); }
public static string GetUserBannerUrl(Snowflake userId, string bannerHash, CdnAssetFormat format = default, int?size = null) { var path = $"banners/{userId}/{bannerHash}"; return(FormatUrl(path, AutomaticGifFormat(format, bannerHash), size)); }
public static string GetGuildDiscoverySplashUrl(Snowflake guildId, string discoverySplashHash, CdnAssetFormat format = default, int?size = null) { var path = $"discovery-splashes/{guildId}/{discoverySplashHash}"; return(FormatUrl(path, format, size)); }
public static string GetGuildIconUrl(Snowflake guildId, string iconHash, CdnAssetFormat format = default, int?size = null) { var path = $"icons/{guildId}/{iconHash}"; return(FormatUrl(path, AutomaticGifFormat(format, iconHash), size)); }
private static string GetFormatString(CdnAssetFormat format) => format switch {
public static string GetCustomEmojiUrl(Snowflake emojiId, CdnAssetFormat format = default, int?size = null) { var path = $"emojis/{emojiId}"; return(FormatUrl(path, format, size)); }
public static string GetEventCoverImageUrl(Snowflake eventId, string coverImageHash, CdnAssetFormat format = default, int?size = null) { var path = $"guild-events/{eventId}/{coverImageHash}"; return(FormatUrl(path, format, size)); }
public static string GetRoleIconUrl(Snowflake roleId, string iconHash, CdnAssetFormat format = default, int?size = null) { var path = $"role-icons/{roleId}/{iconHash}"; return(FormatUrl(path, format, size)); }
public static string GetStickerPackBannerUrl(Snowflake bannerAssetId, CdnAssetFormat format = default, int?size = null) { var path = $"app-assets/710982414301790216/store/{bannerAssetId}"; return(FormatUrl(path, format, size)); }
public static string GetGuildBannerUrl(Snowflake guildId, string bannerHash, CdnAssetFormat format = default, int?size = null) { var path = $"banners/{guildId}/{bannerHash}"; return(FormatUrl(path, format, size)); }