Merge pull request #750 from discordeno/guild-functions-remove-cache-requirement

Guild functions remove cache requirement
This commit is contained in:
Skillz4Killz
2021-04-04 08:25:20 -04:00
committed by GitHub
6 changed files with 43 additions and 28 deletions

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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,
)

View File

@@ -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)

View File

@@ -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<GuildStruct> = {
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<GuildStruct> = {
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(

View File

@@ -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<void> {
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}`;