mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-17 03:53:29 +01:00
feat(GuildPreview): implement support for "preview" endpoint (#3965)
* feat(GuildPreview): method — fetchGuildPreview * feat(GuildPreview): structure — GuildPreview * feat(GuildPreview): update typings * fix(GuildPreview): remove typedef for Features — already exists * refactor(GuildPreview): update JSDocs & method * feat(GuildPreview): implement DiscoverySplash function * fix(GuildPreview): description & error handling for id * fix(GuildPreview): misleading description, assign emojis correctly * feat(GuildPreview): func DisplaySplash & GuildPreviewEmoji interface * fix(Typings): satisfy TSLint * fix(GuildPreview): toJSON - returns a value now * feat(GuildPreview): add fetchPreview method on instance of Guild * feat(GuildPreview): update typings * fix: missing client constructor * fix: typo in typings * feat(BaseEmoji): implement BaseEmoji — parent for emoji instances * feat(BaseEmoji): refactor - GuildEmoji extends BaseEmoji now * feat(BaseEmoji): refactor - adjust emojis prop to BaseEmoji instance * feat(BaseEmoji): not documented fully - GuildPreviewEmoji * feat(BaseEmoji): update typings * fix: remove duplicate typing properties - inherited * fix: remove redundant methods & properties - inherited / already set * fix: let -> const * fix: typings - put BaseEmoji after BaseClient * fix: remove _clone method - redundant * refactor(GuildPreview): emojis should be a collection * refactor: rename base class, move relevant props there and expose roles * fix(GuildPreview): update emojis in _patch * fix(Typings): remove empty line, add Client#fetchGuildPreview * feat: export GuildPreview * fix(Typings): add GuildPreview#discoverSplash, icon, and splash Co-authored-by: LxveFades <twitchisadeck@gmail.com> Co-authored-by: Crawl <icrawltogo@gmail.com> Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
This commit is contained in:
55
typings/index.d.ts
vendored
55
typings/index.d.ts
vendored
@@ -108,6 +108,19 @@ declare module 'discord.js' {
|
||||
public toJSON(...props: { [key: string]: boolean | string }[]): object;
|
||||
}
|
||||
|
||||
export class BaseGuildEmoji extends Emoji {
|
||||
constructor(client: Client, data: object, guild: Guild);
|
||||
private _roles: string[];
|
||||
|
||||
public available: boolean;
|
||||
public readonly createdAt: Date;
|
||||
public readonly createdTimestamp: number;
|
||||
public guild: Guild | GuildPreview;
|
||||
public id: Snowflake;
|
||||
public managed: boolean;
|
||||
public requiresColons: boolean;
|
||||
}
|
||||
|
||||
class BroadcastDispatcher extends VolumeMixin(StreamDispatcher) {
|
||||
public broadcast: VoiceBroadcast;
|
||||
}
|
||||
@@ -168,6 +181,7 @@ declare module 'discord.js' {
|
||||
public ws: WebSocketManager;
|
||||
public destroy(): void;
|
||||
public fetchApplication(): Promise<ClientApplication>;
|
||||
public fetchGuildPreview(guild: GuildResolvable): Promise<GuildPreview>;
|
||||
public fetchInvite(invite: InviteResolvable): Promise<Invite>;
|
||||
public fetchVoiceRegions(): Promise<Collection<string, VoiceRegion>>;
|
||||
public fetchWebhook(id: Snowflake, token?: string): Promise<Webhook>;
|
||||
@@ -296,7 +310,8 @@ declare module 'discord.js' {
|
||||
AppIcon: (userID: string | number, hash: string, format: AllowedImageFormat, size: number) => string;
|
||||
AppAsset: (userID: string | number, hash: string, format: AllowedImageFormat, size: number) => string;
|
||||
GDMIcon: (userID: string | number, hash: string, format: AllowedImageFormat, size: number) => string;
|
||||
Splash: (userID: string | number, hash: string, format: AllowedImageFormat, size: number) => string;
|
||||
Splash: (guildID: string | number, hash: string, format: AllowedImageFormat, size: number) => string;
|
||||
DiscoverySplash: (guildID: string | number, hash: string, format: AllowedImageFormat, size: number) => string;
|
||||
TeamIcon: (teamID: string | number, hash: string, format: AllowedImageFormat, size: number) => string;
|
||||
};
|
||||
};
|
||||
@@ -636,6 +651,7 @@ declare module 'discord.js' {
|
||||
public fetchEmbed(): Promise<GuildEmbedData>;
|
||||
public fetchIntegrations(): Promise<Collection<string, Integration>>;
|
||||
public fetchInvites(): Promise<Collection<string, Invite>>;
|
||||
public fetchPreview(): Promise<GuildPreview>;
|
||||
public fetchVanityCode(): Promise<string>;
|
||||
public fetchVoiceRegions(): Promise<Collection<string, VoiceRegion>>;
|
||||
public fetchWebhooks(): Promise<Collection<Snowflake, Webhook>>;
|
||||
@@ -748,17 +764,10 @@ declare module 'discord.js' {
|
||||
): Promise<this>;
|
||||
}
|
||||
|
||||
export class GuildEmoji extends Emoji {
|
||||
constructor(client: Client, data: object, guild: Guild);
|
||||
private _roles: string[];
|
||||
|
||||
public available: boolean;
|
||||
export class GuildEmoji extends BaseGuildEmoji {
|
||||
public readonly deletable: boolean;
|
||||
public guild: Guild;
|
||||
public id: Snowflake;
|
||||
public managed: boolean;
|
||||
public requiresColons: boolean;
|
||||
public roles: GuildEmojiRoleManager;
|
||||
public readonly roles: GuildEmojiRoleManager;
|
||||
public readonly url: string;
|
||||
public delete(reason?: string): Promise<GuildEmoji>;
|
||||
public edit(data: GuildEmojiEditData, reason?: string): Promise<GuildEmoji>;
|
||||
@@ -807,6 +816,32 @@ declare module 'discord.js' {
|
||||
public valueOf(): string;
|
||||
}
|
||||
|
||||
export class GuildPreview extends Base {
|
||||
constructor(client: Client, data: object);
|
||||
public approximateMemberCount: number;
|
||||
public approximatePresenceCount: number;
|
||||
public description?: string;
|
||||
public discoverySplash: string | null;
|
||||
public emojis: Collection<Snowflake, GuildPreviewEmoji>;
|
||||
public features: GuildFeatures;
|
||||
public icon: string | null;
|
||||
public id: string;
|
||||
public name: string;
|
||||
public splash: string | null;
|
||||
public discoverySplashURL(options?: ImageURLOptions): string | null;
|
||||
public iconURL(options?: ImageURLOptions & { dynamic?: boolean }): string | null;
|
||||
public splashURL(options?: ImageURLOptions): string | null;
|
||||
public fetch(): Promise<GuildPreview>;
|
||||
public toJSON(): object;
|
||||
public toString(): string;
|
||||
}
|
||||
|
||||
export class GuildPreviewEmoji extends BaseGuildEmoji {
|
||||
constructor(client: Client, data: object, guild: GuildPreview);
|
||||
public guild: GuildPreview;
|
||||
public readonly roles: Set<Snowflake>;
|
||||
}
|
||||
|
||||
export class HTTPError extends Error {
|
||||
constructor(message: string, name: string, code: number, method: string, path: string);
|
||||
public code: number;
|
||||
|
||||
Reference in New Issue
Block a user