mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-03 09:20:08 +00:00
Merge pull request #750 from discordeno/guild-functions-remove-cache-requirement
Guild functions remove cache requirement
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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}`;
|
||||
|
||||
Reference in New Issue
Block a user