UNPKG

lilybird

Version:
79 lines (78 loc) 4.62 kB
const CDNURL = "https://cdn.discordapp.com/"; function getFormat(hash, format, allowsGIF = true) { if (!allowsGIF && format === ".gif") throw new Error("Invalid image format"); if (typeof format !== "undefined") return format; if (hash.startsWith("a_")) return ".gif"; return ".jpg"; } function getSize(size) { if (typeof size === "undefined") return ""; return `?size=${size}`; } export function customEmojiURL(emojiId, options) { return `${CDNURL}emojis/${emojiId}${getFormat(emojiId, options?.format)}${getSize(options?.size)}`; } export function guildIconURL(guildId, guildIcon, options) { return `${CDNURL}icons/${guildId}/${guildIcon}${getFormat(guildIcon, options?.format)}${getSize(options?.size)}`; } export function guildSplashURL(guildId, guildSplash, options) { return `${CDNURL}splashes/${guildId}/${guildSplash}${getFormat(guildSplash, options?.format, false)}${getSize(options?.size)}`; } export function guildDiscoverySplashURL(guildId, guildDiscoverySplash, options) { return `${CDNURL}discovery-splashes/${guildId}/${guildDiscoverySplash}${getFormat(guildDiscoverySplash, options?.format, false)}${getSize(options?.size)}`; } export function guildBannerURL(guildId, guildBanner, options) { return `${CDNURL}banners/${guildId}/${guildBanner}${getFormat(guildBanner, options?.format)}${getSize(options?.size)}`; } export function userBannerURL(userId, userBanner, options) { return `${CDNURL}banners/${userId}/${userBanner}${getFormat(userBanner, options?.format)}${getSize(options?.size)}`; } export function defaultUserAvatarURL(index, options) { return `${CDNURL}embed/avatars/${index}${".png"}${getSize(options?.size)}`; } export function userAvatarURL(userId, userAvatar, options) { return `${CDNURL}avatars/${userId}/${userAvatar}${getFormat(userAvatar, options?.format)}${getSize(options?.size)}`; } export function guildMemberAvatarURL(guildId, userId, memberAvatar, options) { return `${CDNURL}guilds/${guildId}/users/${userId}/avatars/${memberAvatar}${getFormat(memberAvatar, options?.format)}${getSize(options?.size)}`; } export function userAvatarDecorationURL(userId, userAvatarDecoration, options) { return `${CDNURL}avatar-decorations/${userId}/${userAvatarDecoration}${".png"}${getSize(options?.size)}`; } export function applicationIconURL(applicationId, icon, options) { return `${CDNURL}app-icons/${applicationId}/${icon}${getFormat(icon, options?.format, false)}${getSize(options?.size)}`; } export function applicationCoverURL(applicationId, cover, options) { return `${CDNURL}app-icons/${applicationId}/${cover}${getFormat(cover, options?.format, false)}${getSize(options?.size)}`; } export function applicationAssetURL(applicationId, assetId, options) { return `${CDNURL}app-assets/${applicationId}/${assetId}${getFormat(assetId, options?.format, false)}${getSize(options?.size)}`; } export function achievementIconURL(applicationId, achievementId, icon, options) { return `${CDNURL}app-assets/${applicationId}/achievements/${achievementId}/icons/${icon}${getFormat(icon, options?.format, false)}${getSize(options?.size)}`; } export function storePageAssetURL(applicationId, assetId, options) { return `${CDNURL}app-assets/${applicationId}/store/${assetId}${getFormat(assetId, options?.format, false)}${getSize(options?.size)}`; } export function stickerPackBannerURL(applicationId, stickerPackBannerAssetId, options) { return `${CDNURL}app-assets/${applicationId}/store/${stickerPackBannerAssetId}${getFormat(stickerPackBannerAssetId, options?.format, false)}${getSize(options?.size)}`; } export function teamIconURL(teamId, teamIcon, options) { return `${CDNURL}team-icons/${teamId}/${teamIcon}${getFormat(teamIcon, options?.format, false)}${getSize(options?.size)}`; } export function stickerURL(stickerId, options) { return `${CDNURL}sticker/${stickerId}${getFormat(stickerId, options?.format)}${getSize(options?.size)}`; } export function roleIconURL(roleId, roleIcon, options) { return `${CDNURL}role-icons/${roleId}/${roleIcon}${getFormat(roleIcon, options?.format, false)}${getSize(options?.size)}`; } export function guildScheduledEventCoverURL(eventId, eventCover, options) { return `${CDNURL}guild-events/${eventId}/${eventCover}${getFormat(eventCover, options?.format, false)}${getSize(options?.size)}`; } export function guildMemberBannerURL(guildId, userId, memberBanner, options) { return `${CDNURL}guilds/${guildId}/users/${userId}/banners/${memberBanner}${getFormat(memberBanner, options?.format)}${getSize(options?.size)}`; }