From c6279c79c056d61016120f7ca4fd22c2cf90db8b Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Sun, 4 Apr 2021 12:20:55 +0000 Subject: [PATCH 1/5] fix: guildBannerURL no longer accepts cached guild --- src/helpers/guilds/guild_banner_url.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/helpers/guilds/guild_banner_url.ts b/src/helpers/guilds/guild_banner_url.ts index 5b5db57c8..7b4866915 100644 --- a/src/helpers/guilds/guild_banner_url.ts +++ b/src/helpers/guilds/guild_banner_url.ts @@ -1,18 +1,16 @@ -import { Guild } from "../../structures/mod.ts"; +import { DiscordImageFormat } from "../../types/misc/image_format.ts"; +import { DiscordImageSize } from "../../types/misc/image_size.ts"; import { endpoints } from "../../util/constants.ts"; import { formatImageURL } from "../../util/utils.ts"; /** The full URL of the banner from Discords CDN. Undefined if no banner is set. */ export function guildBannerURL( - guild: Guild, - size: ImageSize = 128, - format?: ImageFormats, + id: string, + banner: string, + size: DiscordImageSize = 128, + format?: DiscordImageFormat ) { - return guild.banner - ? formatImageURL( - endpoints.GUILD_BANNER(guild.id, guild.banner), - size, - format, - ) + return banner + ? formatImageURL(endpoints.GUILD_BANNER(id, banner), size, format) : undefined; } From fbfd3455b521745fecd5594bf7f55b0b528ebcb9 Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Sun, 4 Apr 2021 12:21:04 +0000 Subject: [PATCH 2/5] fix: guildIconURL no longer accepts cached guild --- src/helpers/guilds/guild_icon_url.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/helpers/guilds/guild_icon_url.ts b/src/helpers/guilds/guild_icon_url.ts index f1f348010..5acb8408f 100644 --- a/src/helpers/guilds/guild_icon_url.ts +++ b/src/helpers/guilds/guild_icon_url.ts @@ -1,14 +1,16 @@ -import { Guild } from "../../structures/mod.ts"; +import { DiscordImageFormat } from "../../types/misc/image_format.ts"; +import { DiscordImageSize } from "../../types/misc/image_size.ts"; import { endpoints } from "../../util/constants.ts"; import { formatImageURL } from "../../util/utils.ts"; /** The full URL of the icon from Discords CDN. Undefined when no icon is set. */ export function guildIconURL( - guild: Guild, - size: ImageSize = 128, - format?: ImageFormats, + id: string, + icon: string, + size: DiscordImageSize = 128, + format?: DiscordImageFormat, ) { - return guild.icon - ? formatImageURL(endpoints.GUILD_ICON(guild.id, guild.icon), size, format) + return icon + ? formatImageURL(endpoints.GUILD_ICON(id, icon), size, format) : undefined; } From 8f4dd7197358c76420e8c4077f1711cf5221f9ef Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Sun, 4 Apr 2021 12:21:15 +0000 Subject: [PATCH 3/5] fix: guildSplashURL no longer accepts cached guild --- src/helpers/guilds/guild_splash_url.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/helpers/guilds/guild_splash_url.ts b/src/helpers/guilds/guild_splash_url.ts index 2e38524ac..0c51fb682 100644 --- a/src/helpers/guilds/guild_splash_url.ts +++ b/src/helpers/guilds/guild_splash_url.ts @@ -1,16 +1,18 @@ -import { Guild } from "../../structures/mod.ts"; +import { DiscordImageFormat } from "../../types/misc/image_format.ts"; +import { DiscordImageSize } from "../../types/misc/image_size.ts"; import { endpoints } from "../../util/constants.ts"; import { formatImageURL } from "../../util/utils.ts"; /** The full URL of the splash from Discords CDN. Undefined if no splash is set. */ export function guildSplashURL( - guild: Guild, - size: ImageSize = 128, - format?: ImageFormats, + id: string, + splash: string, + size: DiscordImageSize = 128, + format?: DiscordImageFormat, ) { - return guild.splash + return splash ? formatImageURL( - endpoints.GUILD_SPLASH(guild.id, guild.splash), + endpoints.GUILD_SPLASH(id, splash), size, format, ) From 5d3b01b3e7f5dfbef78150790c5de43089903882 Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Sun, 4 Apr 2021 12:21:30 +0000 Subject: [PATCH 4/5] fix: typings names & imports --- src/helpers/members/avatar_url.ts | 6 ++++-- src/util/utils.ts | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/helpers/members/avatar_url.ts b/src/helpers/members/avatar_url.ts index ae6c90a2a..3bbc160de 100644 --- a/src/helpers/members/avatar_url.ts +++ b/src/helpers/members/avatar_url.ts @@ -1,3 +1,5 @@ +import { DiscordImageFormat } from "../../types/misc/image_format.ts"; +import { DiscordImageSize } from "../../types/misc/image_size.ts"; import { endpoints } from "../../util/constants.ts"; import { formatImageURL } from "../../util/utils.ts"; @@ -6,8 +8,8 @@ export function avatarURL( userId: string, discriminator: string, avatar?: string | null, - size: ImageSize = 128, - format?: ImageFormats, + size: DiscordImageSize = 128, + format?: DiscordImageFormat, ) { return avatar ? formatImageURL(endpoints.USER_AVATAR(userId, avatar), size, format) diff --git a/src/util/utils.ts b/src/util/utils.ts index 18041d85b..c27e75bcb 100644 --- a/src/util/utils.ts +++ b/src/util/utils.ts @@ -1,6 +1,8 @@ import { encode } from "../../deps.ts"; import { DiscordGatewayOpcodes } from "../types/codes/gateway_opcodes.ts"; import { Errors } from "../types/misc/errors.ts"; +import { DiscordImageFormat } from "../types/misc/image_format.ts"; +import { DiscordImageSize } from "../types/misc/image_size.ts"; import { basicShards, sendWS } from "../ws/shard.ts"; import { SLASH_COMMANDS_NAME_REGEX } from "./constants.ts"; @@ -46,8 +48,8 @@ export function delay(ms: number): Promise { export const formatImageURL = ( url: string, - size: ImageSize = 128, - format?: ImageFormats, + size: DiscordImageSize = 128, + format?: DiscordImageFormat, ) => { return `${url}.${format || (url.includes("/a_") ? "gif" : "jpg")}?size=${size}`; From 658db44476fea4772e5c345f2e46e4203cc51797 Mon Sep 17 00:00:00 2001 From: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Date: Sun, 4 Apr 2021 12:21:43 +0000 Subject: [PATCH 5/5] fix: getters for cached versions of server images --- src/structures/guild.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/structures/guild.ts b/src/structures/guild.ts index 82070249e..2153aedc7 100644 --- a/src/structures/guild.ts +++ b/src/structures/guild.ts @@ -7,6 +7,7 @@ import { getBan } from "../helpers/guilds/get_ban.ts"; import { getBans } from "../helpers/guilds/get_bans.ts"; import { guildBannerURL } from "../helpers/guilds/guild_banner_url.ts"; import { guildIconURL } from "../helpers/guilds/guild_icon_url.ts"; +import { guildSplashURL } from "../helpers/guilds/guild_splash_url.ts"; import { leaveGuild } from "../helpers/guilds/leave_guild.ts"; import { getInvites } from "../helpers/invites/get_invites.ts"; import { banMember } from "../helpers/members/ban_member.ts"; @@ -64,7 +65,10 @@ const baseGuild: Partial = { return Boolean(this.features?.includes(DiscordGuildFeatures.VERIFIED)); }, bannerURL(size, format) { - return guildBannerURL(this as unknown as Guild, size, format); + return guildBannerURL(this.id!, this.banner!, size, format); + }, + splashURL(size, format) { + return guildSplashURL(this.id!, this.splash!, size, format); }, delete() { return deleteServer(this.id!); @@ -91,7 +95,7 @@ const baseGuild: Partial = { return getInvites(this.id!); }, iconURL(size, format) { - return guildIconURL(this as unknown as Guild, size, format); + return guildIconURL(this.id!, this.icon!, size, format); }, leave() { return leaveGuild(this.id!); @@ -216,6 +220,11 @@ export interface GuildStruct extends bannerURL( size?: DiscordImageSize, format?: DiscordImageFormat, + ): string | undefined; + /** The splash url for this server */ + splashURL( + size?: DiscordImageSize, + format?: DiscordImageFormat, ): string | undefined; /** The full URL of the icon from Discords CDN. Undefined when no icon is set. */ iconURL(