From 34b2ad0d8ee39eb9cc964a4334a803b2ab48cae5 Mon Sep 17 00:00:00 2001 From: SpaceEEC Date: Sun, 3 Oct 2021 15:02:11 +0200 Subject: [PATCH] docs: undocument private constructors (#6732) --- src/sharding/Shard.js | 4 - src/sharding/ShardClientUtil.js | 4 - src/structures/BaseGuildTextChannel.js | 5 - src/structures/ClientPresence.js | 10 +- src/structures/DMChannel.js | 4 - src/structures/Guild.js | 5 - src/structures/GuildBan.js | 10 -- src/structures/GuildChannel.js | 6 - src/structures/GuildEmoji.js | 5 - src/structures/GuildMember.js | 5 - src/structures/GuildPreview.js | 5 - src/structures/GuildTemplate.js | 16 -- src/structures/Message.js | 4 - src/structures/MessageReaction.js | 10 -- src/structures/Presence.js | 10 -- src/structures/Role.js | 5 - src/structures/Sticker.js | 9 -- src/structures/StickerPack.js | 9 -- src/structures/StoreChannel.js | 5 - src/structures/ThreadChannel.js | 6 - src/structures/ThreadMember.js | 9 -- src/structures/Typing.js | 10 -- src/structures/User.js | 4 - src/structures/VoiceState.js | 9 -- src/structures/Widget.js | 9 -- src/structures/WidgetMember.js | 4 - typings/index.d.ts | 198 ++++++++++++------------- 27 files changed, 105 insertions(+), 275 deletions(-) diff --git a/src/sharding/Shard.js b/src/sharding/Shard.js index 245b3473cadd..e42d3c8b06a1 100644 --- a/src/sharding/Shard.js +++ b/src/sharding/Shard.js @@ -14,10 +14,6 @@ let Worker = null; * @extends EventEmitter */ class Shard extends EventEmitter { - /** - * @param {ShardingManager} manager Manager that is creating this shard - * @param {number} id The shard's id - */ constructor(manager, id) { super(); diff --git a/src/sharding/ShardClientUtil.js b/src/sharding/ShardClientUtil.js index 665046be2912..d69e65bdac32 100644 --- a/src/sharding/ShardClientUtil.js +++ b/src/sharding/ShardClientUtil.js @@ -9,10 +9,6 @@ const Util = require('../util/Util'); * Utilises IPC to send and receive data to/from the master process and other shards. */ class ShardClientUtil { - /** - * @param {Client} client Client of the current shard - * @param {ShardingManagerMode} mode Mode the shard was spawned with - */ constructor(client, mode) { /** * Client for the shard diff --git a/src/structures/BaseGuildTextChannel.js b/src/structures/BaseGuildTextChannel.js index f92213ca2e92..c48ffd49f891 100644 --- a/src/structures/BaseGuildTextChannel.js +++ b/src/structures/BaseGuildTextChannel.js @@ -14,11 +14,6 @@ const DataResolver = require('../util/DataResolver'); * @implements {TextBasedChannel} */ class BaseGuildTextChannel extends GuildChannel { - /** - * @param {Guild} guild The guild the text channel is part of - * @param {APIChannel} data The data for the text channel - * @param {Client} [client] A safety parameter for the client that instantiated this - */ constructor(guild, data, client) { super(guild, data, client, false); diff --git a/src/structures/ClientPresence.js b/src/structures/ClientPresence.js index 7a529336e3dd..04ccce6e4553 100644 --- a/src/structures/ClientPresence.js +++ b/src/structures/ClientPresence.js @@ -9,10 +9,6 @@ const { ActivityTypes, Opcodes } = require('../util/Constants'); * @extends {Presence} */ class ClientPresence extends Presence { - /** - * @param {Client} client The instantiating client - * @param {APIPresence} [data={}] The data for the client presence - */ constructor(client, data = {}) { super(client, Object.assign(data, { status: data.status ?? 'online', user: { id: null } })); } @@ -76,3 +72,9 @@ class ClientPresence extends Presence { } module.exports = ClientPresence; + +/* eslint-disable max-len */ +/** + * @external APIPresence + * @see {@link https://discord.com/developers/docs/rich-presence/how-to#updating-presence-update-presence-payload-fields} + */ diff --git a/src/structures/DMChannel.js b/src/structures/DMChannel.js index 52704c052cb6..3eb2f823ba61 100644 --- a/src/structures/DMChannel.js +++ b/src/structures/DMChannel.js @@ -10,10 +10,6 @@ const MessageManager = require('../managers/MessageManager'); * @implements {TextBasedChannel} */ class DMChannel extends Channel { - /** - * @param {Client} client The instantiating client - * @param {APIChannel} data The data for the DM channel - */ constructor(client, data) { super(client, data); diff --git a/src/structures/Guild.js b/src/structures/Guild.js index 5fb14ba0702d..3e565c91c70a 100644 --- a/src/structures/Guild.js +++ b/src/structures/Guild.js @@ -132,11 +132,6 @@ class Guild extends AnonymousGuild { return this.client.ws.shards.get(this.shardId); } - /** - * Sets up the guild. - * @param {*} data The raw data of the guild - * @private - */ _patch(data) { super._patch(data); this.id = data.id; diff --git a/src/structures/GuildBan.js b/src/structures/GuildBan.js index 1157c25b73e2..9c5a10ed677a 100644 --- a/src/structures/GuildBan.js +++ b/src/structures/GuildBan.js @@ -7,11 +7,6 @@ const Base = require('./Base'); * @extends {Base} */ class GuildBan extends Base { - /** - * @param {Client} client The instantiating client - * @param {APIBanData} data The data for the ban - * @param {Guild} guild The guild in which the ban is - */ constructor(client, data, guild) { super(client); @@ -62,8 +57,3 @@ class GuildBan extends Base { } module.exports = GuildBan; - -/** - * @external APIBanData - * @see {@link https://discord.com/developers/docs/resources/guild#create-guild-ban-json-params} - */ diff --git a/src/structures/GuildChannel.js b/src/structures/GuildChannel.js index b008b6bda90a..52e8adb69376 100644 --- a/src/structures/GuildChannel.js +++ b/src/structures/GuildChannel.js @@ -20,12 +20,6 @@ const Util = require('../util/Util'); * @abstract */ class GuildChannel extends Channel { - /** - * @param {Guild} guild The guild the guild channel is part of - * @param {APIChannel} data The data for the guild channel - * @param {Client} [client] A safety parameter for the client that instantiated this - * @param {boolean} [immediatePatch=true] Control variable for patching - */ constructor(guild, data, client, immediatePatch = true) { super(guild?.client ?? client, data, false); diff --git a/src/structures/GuildEmoji.js b/src/structures/GuildEmoji.js index a00d595abf54..e5629fde91ee 100644 --- a/src/structures/GuildEmoji.js +++ b/src/structures/GuildEmoji.js @@ -10,11 +10,6 @@ const Permissions = require('../util/Permissions'); * @extends {BaseGuildEmoji} */ class GuildEmoji extends BaseGuildEmoji { - /** - * @param {Client} client The instantiating client - * @param {APIEmoji} data The data for the guild emoji - * @param {Guild} guild The guild the guild emoji is part of - */ constructor(client, data, guild) { super(client, data, guild); diff --git a/src/structures/GuildMember.js b/src/structures/GuildMember.js index 0b5c24dcfba0..0c085d4be78b 100644 --- a/src/structures/GuildMember.js +++ b/src/structures/GuildMember.js @@ -13,11 +13,6 @@ const Permissions = require('../util/Permissions'); * @extends {Base} */ class GuildMember extends Base { - /** - * @param {Client} client The instantiating client - * @param {APIGuildMember} data The data for the guild member - * @param {Guild} guild The guild the member is part of - */ constructor(client, data, guild) { super(client); diff --git a/src/structures/GuildPreview.js b/src/structures/GuildPreview.js index bbe5ae03bcd0..5652959c8a0d 100644 --- a/src/structures/GuildPreview.js +++ b/src/structures/GuildPreview.js @@ -18,11 +18,6 @@ class GuildPreview extends Base { this._patch(data); } - /** - * Builds the guild with the provided data. - * @param {*} data The raw data of the guild - * @private - */ _patch(data) { /** * The id of this guild diff --git a/src/structures/GuildTemplate.js b/src/structures/GuildTemplate.js index a52d87a219ff..42bd76750c39 100644 --- a/src/structures/GuildTemplate.js +++ b/src/structures/GuildTemplate.js @@ -9,21 +9,11 @@ const DataResolver = require('../util/DataResolver'); * @extends {Base} */ class GuildTemplate extends Base { - /** - * @param {Client} client The instantiating client - * @param {APIGuildTemplate} data The raw data for the template - */ constructor(client, data) { super(client); this._patch(data); } - /** - * Builds or updates the template with the provided data. - * @param {APIGuildTemplate} data The raw data for the template - * @returns {GuildTemplate} - * @private - */ _patch(data) { if ('code' in data) { /** @@ -243,9 +233,3 @@ class GuildTemplate extends Base { GuildTemplate.GUILD_TEMPLATES_PATTERN = /discord(?:app)?\.(?:com\/template|new)\/([\w-]{2,255})/gi; module.exports = GuildTemplate; - -/* eslint-disable max-len */ -/** - * @external APIGuildTemplate - * @see {@link https://discord.com/developers/docs/resources/guild-template#guild-template-object-guild-template-structure} - */ diff --git a/src/structures/Message.js b/src/structures/Message.js index 0112f645ba4c..0283abf52554 100644 --- a/src/structures/Message.js +++ b/src/structures/Message.js @@ -24,10 +24,6 @@ const Util = require('../util/Util'); * @extends {Base} */ class Message extends Base { - /** - * @param {Client} client The instantiating client - * @param {APIMessage} data The data for the message - */ constructor(client, data) { super(client); diff --git a/src/structures/MessageReaction.js b/src/structures/MessageReaction.js index 799f3051d475..1a20aa2e0cbd 100644 --- a/src/structures/MessageReaction.js +++ b/src/structures/MessageReaction.js @@ -9,11 +9,6 @@ const Util = require('../util/Util'); * Represents a reaction to a message. */ class MessageReaction { - /** - * @param {Client} client The instantiating client - * @param {APIReaction} data The data for the message reaction - * @param {Message} message The message the reaction refers to - */ constructor(client, data, message) { /** * The client that instantiated this message reaction @@ -134,8 +129,3 @@ class MessageReaction { } module.exports = MessageReaction; - -/** - * @external APIReaction - * @see {@link https://discord.com/developers/docs/resources/channel#reaction-object} - */ diff --git a/src/structures/Presence.js b/src/structures/Presence.js index bad6f8a1a1b1..032e40072138 100644 --- a/src/structures/Presence.js +++ b/src/structures/Presence.js @@ -35,10 +35,6 @@ const Util = require('../util/Util'); * @extends {Base} */ class Presence extends Base { - /** - * @param {Client} client The instantiating client - * @param {APIPresence} [data={}] The data for the presence - */ constructor(client, data = {}) { super(client); @@ -386,9 +382,3 @@ class RichPresenceAssets { exports.Presence = Presence; exports.Activity = Activity; exports.RichPresenceAssets = RichPresenceAssets; - -/* eslint-disable max-len */ -/** - * @external APIPresence - * @see {@link https://discord.com/developers/docs/rich-presence/how-to#updating-presence-update-presence-payload-fields} - */ diff --git a/src/structures/Role.js b/src/structures/Role.js index 0c3c50e20585..feea3a2a0ee7 100644 --- a/src/structures/Role.js +++ b/src/structures/Role.js @@ -11,11 +11,6 @@ const Util = require('../util/Util'); * @extends {Base} */ class Role extends Base { - /** - * @param {Client} client The instantiating client - * @param {APIRole} data The data for the role - * @param {Guild} guild The guild the role is part of - */ constructor(client, data, guild) { super(client); diff --git a/src/structures/Sticker.js b/src/structures/Sticker.js index 54e5e9d42ef3..7db1f98746ff 100644 --- a/src/structures/Sticker.js +++ b/src/structures/Sticker.js @@ -9,10 +9,6 @@ const SnowflakeUtil = require('../util/SnowflakeUtil'); * @extends {Base} */ class Sticker extends Base { - /** - * @param {Client} client The instantiating client - * @param {APISticker | APIStickerItem} sticker The data for the sticker - */ constructor(client, sticker) { super(client); @@ -274,8 +270,3 @@ module.exports = Sticker; * @external APISticker * @see {@link https://discord.com/developers/docs/resources/sticker#sticker-object} */ - -/** - * @external APIStickerItem - * @see {@link https://discord.com/developers/docs/resources/sticker#sticker-item-object} - */ diff --git a/src/structures/StickerPack.js b/src/structures/StickerPack.js index 1cfaa3e1b7c9..f5740efc0e11 100644 --- a/src/structures/StickerPack.js +++ b/src/structures/StickerPack.js @@ -10,10 +10,6 @@ const SnowflakeUtil = require('../util/SnowflakeUtil'); * @extends {Base} */ class StickerPack extends Base { - /** - * @param {Client} client The instantiating client - * @param {APIStickerPack} pack The data for the sticker pack - */ constructor(client, pack) { super(client); /** @@ -97,8 +93,3 @@ class StickerPack extends Base { } module.exports = StickerPack; - -/** - * @external APIStickerPack - * @see {@link https://discord.com/developers/docs/resources/sticker#sticker-pack-object} - */ diff --git a/src/structures/StoreChannel.js b/src/structures/StoreChannel.js index a5fcc2ab57c5..bd4bd560208e 100644 --- a/src/structures/StoreChannel.js +++ b/src/structures/StoreChannel.js @@ -7,11 +7,6 @@ const GuildChannel = require('./GuildChannel'); * @extends {GuildChannel} */ class StoreChannel extends GuildChannel { - /** - * @param {Guild} guild The guild the store channel is part of - * @param {APIChannel} data The data for the store channel - * @param {Client} [client] A safety parameter for the client that instantiated this - */ constructor(guild, data, client) { super(guild, data, client); diff --git a/src/structures/ThreadChannel.js b/src/structures/ThreadChannel.js index e2f45886f967..8d168dcac89c 100644 --- a/src/structures/ThreadChannel.js +++ b/src/structures/ThreadChannel.js @@ -13,12 +13,6 @@ const Permissions = require('../util/Permissions'); * @implements {TextBasedChannel} */ class ThreadChannel extends Channel { - /** - * @param {Guild} guild The guild the thread channel is part of - * @param {APIChannel} data The data for the thread channel - * @param {Client} [client] A safety parameter for the client that instantiated this - * @param {boolean} [fromInteraction=false] Whether the data was from an interaction (partial) - */ constructor(guild, data, client, fromInteraction = false) { super(guild?.client ?? client, data, false); diff --git a/src/structures/ThreadMember.js b/src/structures/ThreadMember.js index 252de831efd0..3dcf3dad7755 100644 --- a/src/structures/ThreadMember.js +++ b/src/structures/ThreadMember.js @@ -8,10 +8,6 @@ const ThreadMemberFlags = require('../util/ThreadMemberFlags'); * @extends {Base} */ class ThreadMember extends Base { - /** - * @param {ThreadChannel} thread The thread that this member is associated with - * @param {APIThreadMember} data The data for the thread member - */ constructor(thread, data) { super(thread.client); @@ -96,8 +92,3 @@ class ThreadMember extends Base { } module.exports = ThreadMember; - -/** - * @external APIThreadMember - * @see {@link https://discord.com/developers/docs/resources/channel#thread-member-object} - */ diff --git a/src/structures/Typing.js b/src/structures/Typing.js index 96599e18902e..341d7cad396e 100644 --- a/src/structures/Typing.js +++ b/src/structures/Typing.js @@ -7,11 +7,6 @@ const Base = require('./Base'); * @extends {Base} */ class Typing extends Base { - /** - * @param {TextBasedChannels} channel The channel this typing came from - * @param {User} user The user that started typing - * @param {APITypingStart} data The raw data received - */ constructor(channel, user, data) { super(channel.client); @@ -77,8 +72,3 @@ class Typing extends Base { } module.exports = Typing; - -/** - * @external APITypingStart - * @see {@link https://discord.com/developers/docs/topics/gateway#typing-start-typing-start-event-fields} - */ diff --git a/src/structures/User.js b/src/structures/User.js index ec652cef1d69..0abe9e141dd0 100644 --- a/src/structures/User.js +++ b/src/structures/User.js @@ -12,10 +12,6 @@ const UserFlags = require('../util/UserFlags'); * @extends {Base} */ class User extends Base { - /** - * @param {Client} client The instantiating client - * @param {APIUser} data The data for the user - */ constructor(client, data) { super(client); diff --git a/src/structures/VoiceState.js b/src/structures/VoiceState.js index 39b799590c94..048a1e07febd 100644 --- a/src/structures/VoiceState.js +++ b/src/structures/VoiceState.js @@ -7,10 +7,6 @@ const { Error, TypeError } = require('../errors'); * Represents the voice state for a Guild Member. */ class VoiceState extends Base { - /** - * @param {Guild} guild The guild the voice state is part of - * @param {APIVoiceState} data The data for the voice state - */ constructor(guild, data) { super(guild.client); /** @@ -275,8 +271,3 @@ class VoiceState extends Base { } module.exports = VoiceState; - -/** - * @external APIVoiceState - * @see {@link https://discord.com/developers/docs/resources/voice#voice-state-object} - */ diff --git a/src/structures/Widget.js b/src/structures/Widget.js index cf6f6b5a4477..fc7f892202a9 100644 --- a/src/structures/Widget.js +++ b/src/structures/Widget.js @@ -8,10 +8,6 @@ const WidgetMember = require('./WidgetMember'); * Represents a Widget. */ class Widget extends Base { - /** - * @param {Client} client The instantiating client - * @param {Object} data The raw data - */ constructor(client, data) { super(client); this._patch(data); @@ -25,11 +21,6 @@ class Widget extends Base { * @property {number} position Position of the channel */ - /** - * Builds the widget with the provided data. - * @param {*} data The raw data of the widget - * @private - */ _patch(data) { /** * The id of the guild. diff --git a/src/structures/WidgetMember.js b/src/structures/WidgetMember.js index 702931a55cfb..472d9e2dc278 100644 --- a/src/structures/WidgetMember.js +++ b/src/structures/WidgetMember.js @@ -12,10 +12,6 @@ class WidgetMember extends Base { * @property {string} name The name of the activity */ - /** - * @param {Client} client The instantiating client - * @param {Object} data The raw data - */ constructor(client, data) { super(client); diff --git a/typings/index.d.ts b/typings/index.d.ts index b43171b58141..991b3d4cf11d 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -137,7 +137,7 @@ import { //#region Classes export class Activity { - public constructor(presence: Presence, data?: RawActivityData); + private constructor(presence: Presence, data?: RawActivityData); public applicationId: Snowflake | null; public assets: RichPresenceAssets | null; public buttons: string[]; @@ -171,7 +171,7 @@ export class ActivityFlags extends BitField { } export abstract class AnonymousGuild extends BaseGuild { - public constructor(client: Client, data: RawAnonymousGuildData, immediatePatch?: boolean); + protected constructor(client: Client, data: RawAnonymousGuildData, immediatePatch?: boolean); public banner: string | null; public description: string | null; public nsfwLevel: NSFWLevel; @@ -183,7 +183,7 @@ export abstract class AnonymousGuild extends BaseGuild { } export abstract class Application extends Base { - public constructor(client: Client, data: RawApplicationData); + protected constructor(client: Client, data: RawApplicationData); public readonly createdAt: Date; public readonly createdTimestamp: number; public description: string | null; @@ -198,7 +198,7 @@ export abstract class Application extends Base { } export class ApplicationCommand extends Base { - public constructor(client: Client, data: RawApplicationCommandData, guild?: Guild, guildId?: Snowflake); + private constructor(client: Client, data: RawApplicationCommandData, guild?: Guild, guildId?: Snowflake); public applicationId: Snowflake; public readonly createdAt: Date; public readonly createdTimestamp: number; @@ -247,7 +247,7 @@ export class ApplicationFlags extends BitField { public static resolve(bit?: BitFieldResolvable): number; } -export class Base { +export abstract class Base { public constructor(client: Client); public readonly client: Client; public toJSON(...props: Record[]): unknown; @@ -292,7 +292,7 @@ export abstract class BaseCommandInteraction extends Interaction { } export abstract class BaseGuild extends Base { - public constructor(client: Client, data: RawBaseGuildData); + protected constructor(client: Client, data: RawBaseGuildData); public readonly createdAt: Date; public readonly createdTimestamp: number; public features: GuildFeatures[]; @@ -308,7 +308,7 @@ export abstract class BaseGuild extends Base { } export class BaseGuildEmoji extends Emoji { - public constructor(client: Client, data: RawGuildEmojiData, guild: Guild | GuildPreview); + protected constructor(client: Client, data: RawGuildEmojiData, guild: Guild | GuildPreview); public available: boolean | null; public readonly createdAt: Date; public readonly createdTimestamp: number; @@ -319,7 +319,7 @@ export class BaseGuildEmoji extends Emoji { } export class BaseGuildTextChannel extends TextBasedChannel(GuildChannel) { - public constructor(guild: Guild, data?: RawGuildChannelData, client?: Client, immediatePatch?: boolean); + protected constructor(guild: Guild, data?: RawGuildChannelData, client?: Client, immediatePatch?: boolean); public defaultAutoArchiveDuration?: ThreadAutoArchiveDuration; public messages: MessageManager; public nsfw: boolean; @@ -340,7 +340,7 @@ export class BaseGuildTextChannel extends TextBasedChannel(GuildChannel) { } export class BaseGuildVoiceChannel extends GuildChannel { - public constructor(guild: Guild, data?: RawGuildChannelData); + protected constructor(guild: Guild, data?: RawGuildChannelData); public readonly members: Collection; public readonly full: boolean; public readonly joinable: boolean; @@ -353,7 +353,7 @@ export class BaseGuildVoiceChannel extends GuildChannel { } export class BaseMessageComponent { - public constructor(data?: BaseMessageComponent | BaseMessageComponentOptions); + protected constructor(data?: BaseMessageComponent | BaseMessageComponentOptions); public type: MessageComponentType | null; private static create( data: MessageComponentOptions, @@ -383,7 +383,7 @@ export class BitField { } export class ButtonInteraction extends MessageComponentInteraction { - public constructor(client: Client, data: RawMessageButtonInteractionData); + private constructor(client: Client, data: RawMessageButtonInteractionData); public componentType: 'BUTTON'; } @@ -418,7 +418,7 @@ export class CategoryChannel extends GuildChannel { export type CategoryChannelResolvable = Snowflake | CategoryChannel; -export class Channel extends Base { +export abstract class Channel extends Base { public constructor(client: Client, data?: RawChannelData, immediatePatch?: boolean); public readonly createdAt: Date; public readonly createdTimestamp: number; @@ -498,7 +498,7 @@ export class Client extends BaseClient { } export class ClientApplication extends Application { - public constructor(client: Client, data: RawClientApplicationData); + private constructor(client: Client, data: RawClientApplicationData); public botPublic: boolean | null; public botRequireCodeGrant: boolean | null; public commands: ApplicationCommandManager; @@ -511,7 +511,7 @@ export class ClientApplication extends Application { } export class ClientPresence extends Presence { - public constructor(client: Client, data: RawPresenceData); + private constructor(client: Client, data: RawPresenceData); private _parse(data: PresenceData): RawPresenceData; public set(presence: PresenceData): ClientPresence; @@ -540,7 +540,7 @@ export class Options extends null { } export class ClientVoiceManager { - public constructor(client: Client); + private constructor(client: Client); public readonly client: Client; public adapters: Map; } @@ -548,7 +548,7 @@ export class ClientVoiceManager { export { Collection } from '@discordjs/collection'; export abstract class Collector extends EventEmitter { - public constructor(client: Client, options?: CollectorOptions<[V, ...F]>); + protected constructor(client: Client, options?: CollectorOptions<[V, ...F]>); private _timeout: NodeJS.Timeout | null; private _idletimeout: NodeJS.Timeout | null; @@ -583,7 +583,7 @@ export class CommandInteraction extends BaseCommandInteraction { } export class CommandInteractionOptionResolver { - public constructor(client: Client, options: CommandInteractionOption[], resolved: CommandInteractionResolvedData); + private constructor(client: Client, options: CommandInteractionOption[], resolved: CommandInteractionResolvedData); public readonly client: Client; public readonly data: readonly CommandInteractionOption[]; public readonly resolved: Readonly; @@ -657,7 +657,7 @@ export class DataResolver extends null { } export class DiscordAPIError extends Error { - public constructor(error: unknown, status: number, request: unknown); + private constructor(error: unknown, status: number, request: unknown); private static flattenErrors(obj: unknown, key: string): string[]; public code: number; @@ -668,7 +668,7 @@ export class DiscordAPIError extends Error { } export class DMChannel extends TextBasedChannel(Channel, ['bulkDelete']) { - public constructor(client: Client, data?: RawDMChannelData); + private constructor(client: Client, data?: RawDMChannelData); public messages: MessageManager; public recipient: User; public type: 'DM'; @@ -676,7 +676,7 @@ export class DMChannel extends TextBasedChannel(Channel, ['bulkDelete']) { } export class Emoji extends Base { - public constructor(client: Client, emoji: RawEmojiData); + protected constructor(client: Client, emoji: RawEmojiData); public animated: boolean | null; public readonly createdAt: Date | null; public readonly createdTimestamp: number | null; @@ -690,7 +690,7 @@ export class Emoji extends Base { } export class Guild extends AnonymousGuild { - public constructor(client: Client, data: RawGuildData); + private constructor(client: Client, data: RawGuildData); private _sortedRoles(): Collection; private _sortedChannels(channel: Channel): Collection; @@ -792,7 +792,7 @@ export class Guild extends AnonymousGuild { } export class GuildAuditLogs { - public constructor(guild: Guild, data: RawGuildAuditLogData); + private constructor(guild: Guild, data: RawGuildAuditLogData); private webhooks: Collection; private integrations: Collection; @@ -808,7 +808,7 @@ export class GuildAuditLogs { } export class GuildAuditLogsEntry { - public constructor(logs: GuildAuditLogs, guild: Guild, data: RawGuildAuditLogEntryData); + private constructor(logs: GuildAuditLogs, guild: Guild, data: RawGuildAuditLogEntryData); public action: GuildAuditLogsAction; public actionType: GuildAuditLogsActionType; public changes: AuditLogChange[] | null; @@ -838,7 +838,7 @@ export class GuildAuditLogsEntry { } export class GuildBan extends Base { - public constructor(client: Client, data: RawGuildBanData, guild: Guild); + private constructor(client: Client, data: RawGuildBanData, guild: Guild); public guild: Guild; public user: User; public readonly partial: boolean; @@ -846,7 +846,7 @@ export class GuildBan extends Base { public fetch(force?: boolean): Promise; } -export class GuildChannel extends Channel { +export abstract class GuildChannel extends Channel { public constructor(guild: Guild, data?: RawGuildChannelData, client?: Client, immediatePatch?: boolean); private memberPermissions(member: GuildMember): Readonly; private rolePermissions(role: Role): Readonly; @@ -880,7 +880,7 @@ export class GuildChannel extends Channel { } export class GuildEmoji extends BaseGuildEmoji { - public constructor(client: Client, data: RawGuildEmojiData, guild: Guild); + private constructor(client: Client, data: RawGuildEmojiData, guild: Guild); private _roles: Snowflake[]; public readonly deletable: boolean; @@ -896,7 +896,7 @@ export class GuildEmoji extends BaseGuildEmoji { } export class GuildMember extends PartialTextBasedChannel(Base) { - public constructor(client: Client, data: RawGuildMemberData, guild: Guild); + private constructor(client: Client, data: RawGuildMemberData, guild: Guild); public avatar: string | null; public readonly bannable: boolean; public deleted: boolean; @@ -935,7 +935,7 @@ export class GuildMember extends PartialTextBasedChannel(Base) { } export class GuildPreview extends Base { - public constructor(client: Client, data: RawGuildPreviewData); + private constructor(client: Client, data: RawGuildPreviewData); public approximateMemberCount: number; public approximatePresenceCount: number; public readonly createdAt: Date; @@ -957,7 +957,7 @@ export class GuildPreview extends Base { } export class GuildTemplate extends Base { - public constructor(client: Client, data: RawGuildTemplateData); + private constructor(client: Client, data: RawGuildTemplateData); public readonly createdTimestamp: number; public readonly updatedTimestamp: number; public readonly url: string; @@ -981,13 +981,13 @@ export class GuildTemplate extends Base { } export class GuildPreviewEmoji extends BaseGuildEmoji { - public constructor(client: Client, data: RawGuildEmojiData, guild: GuildPreview); + private constructor(client: Client, data: RawGuildEmojiData, guild: GuildPreview); public guild: GuildPreview; public roles: Snowflake[]; } export class HTTPError extends Error { - public constructor(message: string, name: string, code: number, request: unknown); + private constructor(message: string, name: string, code: number, request: unknown); public code: number; public method: string; public name: string; @@ -998,12 +998,12 @@ export class HTTPError extends Error { // tslint:disable-next-line:no-empty-interface - Merge RateLimitData into RateLimitError to not have to type it again export interface RateLimitError extends RateLimitData {} export class RateLimitError extends Error { - public constructor(data: RateLimitData); + private constructor(data: RateLimitData); public name: 'RateLimitError'; } export class Integration extends Base { - public constructor(client: Client, data: RawIntegrationData, guild: Guild); + private constructor(client: Client, data: RawIntegrationData, guild: Guild); public account: IntegrationAccount; public application: IntegrationApplication | null; public enabled: boolean; @@ -1025,7 +1025,7 @@ export class Integration extends Base { } export class IntegrationApplication extends Application { - public constructor(client: Client, data: RawIntegrationApplicationData); + private constructor(client: Client, data: RawIntegrationApplicationData); public bot: User | null; public termsOfServiceURL: string | null; public privacyPolicyURL: string | null; @@ -1042,7 +1042,7 @@ export class Intents extends BitField { } export class Interaction extends Base { - public constructor(client: Client, data: RawInteractionData); + protected constructor(client: Client, data: RawInteractionData); public applicationId: Snowflake; public readonly channel: TextBasedChannels | null; public channelId: Snowflake | null; @@ -1104,7 +1104,7 @@ export class InteractionWebhook extends PartialWebhookMixin() { } export class Invite extends Base { - public constructor(client: Client, data: RawInviteData); + private constructor(client: Client, data: RawInviteData); public channel: GuildChannel | PartialGroupDMChannel; public code: string; public readonly deletable: boolean; @@ -1132,7 +1132,7 @@ export class Invite extends Base { } export class InviteStageInstance extends Base { - public constructor(client: Client, data: RawInviteStageInstance, channelId: Snowflake, guildId: Snowflake); + private constructor(client: Client, data: RawInviteStageInstance, channelId: Snowflake, guildId: Snowflake); public channelId: Snowflake; public guildId: Snowflake; public members: Collection; @@ -1144,7 +1144,7 @@ export class InviteStageInstance extends Base { } export class InviteGuild extends AnonymousGuild { - public constructor(client: Client, data: RawInviteGuildData); + private constructor(client: Client, data: RawInviteGuildData); public welcomeScreen: WelcomeScreen | null; } @@ -1210,7 +1210,7 @@ type AwaitMessageCollectorOptionsParams; export class Message extends Base { - public constructor(client: Client, data: RawMessageData); + private constructor(client: Client, data: RawMessageData); private _patch(data: RawPartialMessageData, partial: true): void; private _patch(data: RawMessageData, partial?: boolean): void; private _update(data: RawPartialMessageData, partial: true): Message; @@ -1355,7 +1355,7 @@ export class MessageCollector extends Collector { } export class MessageComponentInteraction extends Interaction { - public constructor(client: Client, data: RawMessageComponentInteractionData); + protected constructor(client: Client, data: RawMessageComponentInteractionData); public readonly channel: TextBasedChannels | null; public readonly component: MessageActionRowComponent | Exclude | null; public componentType: Exclude; @@ -1426,7 +1426,7 @@ export class MessageFlags extends BitField { } export class MessageMentions { - public constructor( + private constructor( message: Message, users: APIUser[] | Collection, roles: Snowflake[] | Collection, @@ -1482,7 +1482,7 @@ export class MessagePayload { } export class MessageReaction { - public constructor(client: Client, data: RawMessageReactionData, message: Message); + private constructor(client: Client, data: RawMessageReactionData, message: Message); private _emoji: GuildEmoji | ReactionEmoji; public readonly client: Client; @@ -1528,13 +1528,13 @@ export class NewsChannel extends BaseGuildTextChannel { } export class OAuth2Guild extends BaseGuild { - public constructor(client: Client, data: RawOAuth2GuildData); + private constructor(client: Client, data: RawOAuth2GuildData); public owner: boolean; public permissions: Readonly; } export class PartialGroupDMChannel extends Channel { - public constructor(client: Client, data: RawPartialGroupDMChannelData); + private constructor(client: Client, data: RawPartialGroupDMChannelData); public name: string | null; public icon: string | null; public recipients: PartialRecipient[]; @@ -1542,7 +1542,7 @@ export class PartialGroupDMChannel extends Channel { } export class PermissionOverwrites extends Base { - public constructor(client: Client, data: RawPermissionOverwriteData, channel: GuildChannel); + private constructor(client: Client, data: RawPermissionOverwriteData, channel: GuildChannel); public allow: Readonly; public readonly channel: GuildChannel; public deny: Readonly; @@ -1573,7 +1573,7 @@ export class Permissions extends BitField { } export class Presence extends Base { - public constructor(client: Client, data?: RawPresenceData); + protected constructor(client: Client, data?: RawPresenceData); public activities: Activity[]; public clientStatus: ClientPresenceStatusData | null; public guild: Guild | null; @@ -1615,13 +1615,13 @@ export class ReactionCollector extends Collector>; private _exitListener: (...args: any[]) => void; private _fetches: Map>; @@ -1710,7 +1710,7 @@ export class Shard extends EventEmitter { } export class ShardClientUtil { - public constructor(client: Client, mode: ShardingManagerMode); + private constructor(client: Client, mode: ShardingManagerMode); private _handleMessage(message: unknown): void; private _respond(type: string, message: unknown): void; @@ -1793,7 +1793,7 @@ export class StageChannel extends BaseGuildVoiceChannel { } export class StageInstance extends Base { - public constructor(client: Client, data: RawStageInstanceData, channel: StageChannel); + private constructor(client: Client, data: RawStageInstanceData, channel: StageChannel); public id: Snowflake; public deleted: boolean; public guildId: Snowflake; @@ -1811,7 +1811,7 @@ export class StageInstance extends Base { } export class Sticker extends Base { - public constructor(client: Client, data: RawStickerData); + private constructor(client: Client, data: RawStickerData); public readonly createdTimestamp: number; public readonly createdAt: Date; public available: boolean | null; @@ -1837,7 +1837,7 @@ export class Sticker extends Base { } export class StickerPack extends Base { - public constructor(client: Client, data: RawStickerPackData); + private constructor(client: Client, data: RawStickerPackData); public readonly createdTimestamp: number; public readonly createdAt: Date; public bannerId: Snowflake; @@ -1852,7 +1852,7 @@ export class StickerPack extends Base { } export class StoreChannel extends GuildChannel { - public constructor(guild: Guild, data?: RawGuildChannelData, client?: Client); + private constructor(guild: Guild, data?: RawGuildChannelData, client?: Client); public createInvite(options?: CreateInviteOptions): Promise; public fetchInvites(cache?: boolean): Promise>; public nsfw: boolean; @@ -1865,7 +1865,7 @@ export class SystemChannelFlags extends BitField { } export class Team extends Base { - public constructor(client: Client, data: RawTeamData); + private constructor(client: Client, data: RawTeamData); public id: Snowflake; public name: string; public icon: string | null; @@ -1882,7 +1882,7 @@ export class Team extends Base { } export class TeamMember extends Base { - public constructor(team: Team, data: RawTeamMemberData); + private constructor(team: Team, data: RawTeamMemberData); public team: Team; public readonly id: Snowflake; public permissions: string[]; @@ -1900,7 +1900,7 @@ export class TextChannel extends BaseGuildTextChannel { } export class ThreadChannel extends TextBasedChannel(Channel) { - public constructor(guild: Guild, data?: RawThreadChannelData, client?: Client, fromInteraction?: boolean); + private constructor(guild: Guild, data?: RawThreadChannelData, client?: Client, fromInteraction?: boolean); public archived: boolean | null; public readonly archivedAt: Date | null; public archiveTimestamp: number | null; @@ -1946,7 +1946,7 @@ export class ThreadChannel extends TextBasedChannel(Channel) { } export class ThreadMember extends Base { - public constructor(thread: ThreadChannel, data?: RawThreadMemberData); + private constructor(thread: ThreadChannel, data?: RawThreadMemberData); public flags: ThreadMemberFlags; public readonly guildMember: GuildMember | null; public id: Snowflake; @@ -1964,7 +1964,7 @@ export class ThreadMemberFlags extends BitField { } export class Typing extends Base { - public constructor(channel: TextBasedChannels, user: PartialUser, data?: RawTypingData); + private constructor(channel: TextBasedChannels, user: PartialUser, data?: RawTypingData); public channel: TextBasedChannels; public user: PartialUser; public startedTimestamp: number; @@ -1978,7 +1978,7 @@ export class Typing extends Base { } export class User extends PartialTextBasedChannel(Base) { - public constructor(client: Client, data: RawUserData); + protected constructor(client: Client, data: RawUserData); public accentColor: number | null; public avatar: string | null; public banner: string | null; @@ -2086,7 +2086,7 @@ export class VoiceChannel extends BaseGuildVoiceChannel { } export class VoiceRegion { - public constructor(data: RawVoiceRegionData); + private constructor(data: RawVoiceRegionData); public custom: boolean; public deprecated: boolean; public id: string; @@ -2097,7 +2097,7 @@ export class VoiceRegion { } export class VoiceState extends Base { - public constructor(guild: Guild, data: RawVoiceStateData); + private constructor(guild: Guild, data: RawVoiceStateData); public readonly channel: VoiceChannel | StageChannel | null; public channelId: Snowflake | null; public readonly deaf: boolean | null; @@ -2124,7 +2124,7 @@ export class VoiceState extends Base { } export class Webhook extends WebhookMixin() { - public constructor(client: Client, data?: RawWebhookData); + private constructor(client: Client, data?: RawWebhookData); public avatar: string; public avatarURL(options?: StaticImageURLOptions): string | null; public channelId: Snowflake; @@ -2156,7 +2156,7 @@ export class WebhookClient extends WebhookMixin(BaseClient) { } export class WebSocketManager extends EventEmitter { - public constructor(client: Client); + private constructor(client: Client); private totalShards: number | string; private shardQueue: Set; private packetQueue: unknown[]; @@ -2184,7 +2184,7 @@ export class WebSocketManager extends EventEmitter { } export class WebSocketShard extends EventEmitter { - public constructor(manager: WebSocketManager, id: number); + private constructor(manager: WebSocketManager, id: number); private sequence: number; private closeSequence: number; private sessionId: string | null; @@ -2237,7 +2237,7 @@ export class WebSocketShard extends EventEmitter { } export class Widget extends Base { - public constructor(client: Client, data: RawWidgetData); + private constructor(client: Client, data: RawWidgetData); private _patch(data: RawWidgetData): void; public fetch(): Promise; public id: Snowflake; @@ -2248,7 +2248,7 @@ export class Widget extends Base { } export class WidgetMember extends Base { - public constructor(client: Client, data: RawWidgetMemberData); + private constructor(client: Client, data: RawWidgetMemberData); public id: string; public username: string; public discriminator: string; @@ -2265,7 +2265,7 @@ export class WidgetMember extends Base { } export class WelcomeChannel extends Base { - constructor(guild: Guild, data: RawWelcomeChannelData); + private constructor(guild: Guild, data: RawWelcomeChannelData); private _emoji: Omit; public channelId: Snowflake; public guild: Guild | InviteGuild; @@ -2275,7 +2275,7 @@ export class WelcomeChannel extends Base { } export class WelcomeScreen extends Base { - constructor(guild: Guild, data: RawWelcomeScreenData); + private constructor(guild: Guild, data: RawWelcomeScreenData); public readonly enabled: boolean; public guild: Guild | InviteGuild; public description: string | null; @@ -2423,12 +2423,12 @@ export const version: string; //#region Managers export abstract class BaseManager { - public constructor(client: Client); + protected constructor(client: Client); public readonly client: Client; } export abstract class DataManager extends BaseManager { - public constructor(client: Client, holds: Constructable); + protected constructor(client: Client, holds: Constructable); public readonly holds: Constructable; public readonly cache: Collection; public resolve(resolvable: Holds): Holds; @@ -2439,7 +2439,7 @@ export abstract class DataManager extends BaseManager { } export abstract class CachedManager extends DataManager { - public constructor(client: Client, holds: Constructable); + protected constructor(client: Client, holds: Constructable); private _add(data: unknown, cache?: boolean, { id, extras }?: { id: K; extras: unknown[] }): Holds; } @@ -2450,7 +2450,7 @@ export class ApplicationCommandManager< PermissionsOptionsExtras = { guild: GuildResolvable }, PermissionsGuildType = null, > extends CachedManager { - public constructor(client: Client, iterable?: Iterable); + protected constructor(client: Client, iterable?: Iterable); public permissions: ApplicationCommandPermissionsManager< { command?: ApplicationCommandResolvable } & PermissionsOptionsExtras, { command: ApplicationCommandResolvable } & PermissionsOptionsExtras, @@ -2497,7 +2497,7 @@ export class ApplicationCommandPermissionsManager< GuildType, CommandIdType, > extends BaseManager { - public constructor(manager: ApplicationCommandManager | GuildApplicationCommandManager | ApplicationCommand); + private constructor(manager: ApplicationCommandManager | GuildApplicationCommandManager | ApplicationCommand); private manager: ApplicationCommandManager | GuildApplicationCommandManager | ApplicationCommand; public client: Client; @@ -2538,17 +2538,17 @@ export class ApplicationCommandPermissionsManager< } export class BaseGuildEmojiManager extends CachedManager { - public constructor(client: Client, iterable?: Iterable); + protected constructor(client: Client, iterable?: Iterable); public resolveIdentifier(emoji: EmojiIdentifierResolvable): string | null; } export class ChannelManager extends CachedManager { - public constructor(client: Client, iterable: Iterable); + private constructor(client: Client, iterable: Iterable); public fetch(id: Snowflake, options?: FetchChannelOptions): Promise; } export class GuildApplicationCommandManager extends ApplicationCommandManager { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; public create(command: ApplicationCommandDataResolvable): Promise; public delete(command: ApplicationCommandResolvable): Promise; @@ -2566,7 +2566,7 @@ export class GuildChannelManager extends CachedManager< GuildChannel | ThreadChannel, GuildChannelResolvable > { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public readonly channelCountWithoutThreads: number; public guild: Guild; public create(name: string, options: GuildChannelCreateOptions & { type: 'GUILD_VOICE' }): Promise; @@ -2599,7 +2599,7 @@ export class GuildChannelManager extends CachedManager< } export class GuildEmojiManager extends BaseGuildEmojiManager { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; public create( attachment: BufferResolvable | Base64Resolvable, @@ -2611,7 +2611,7 @@ export class GuildEmojiManager extends BaseGuildEmojiManager { } export class GuildEmojiRoleManager extends DataManager { - public constructor(emoji: GuildEmoji); + private constructor(emoji: GuildEmoji); public emoji: GuildEmoji; public guild: Guild; public add( @@ -2624,14 +2624,14 @@ export class GuildEmojiRoleManager extends DataManager { - public constructor(client: Client, iterable?: Iterable); + private constructor(client: Client, iterable?: Iterable); public create(name: string, options?: GuildCreateOptions): Promise; public fetch(options: Snowflake | FetchGuildOptions): Promise; public fetch(options?: FetchGuildsOptions): Promise>; } export class GuildMemberManager extends CachedManager { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; public add( user: UserResolvable, @@ -2653,7 +2653,7 @@ export class GuildMemberManager extends CachedManager { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; public create(user: UserResolvable, options?: BanOptions): Promise; public fetch(options: UserResolvable | FetchBanOptions): Promise; @@ -2662,7 +2662,7 @@ export class GuildBanManager extends CachedManager { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; public create(channel: GuildInvitableChannelResolvable, options?: CreateInviteOptions): Promise; public fetch(options: InviteResolvable | FetchInviteOptions): Promise; @@ -2671,7 +2671,7 @@ export class GuildInviteManager extends DataManager { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; public create( file: BufferResolvable | Stream | FileOptions | MessageAttachment, @@ -2686,7 +2686,7 @@ export class GuildStickerManager extends CachedManager { - public constructor(member: GuildMember); + private constructor(member: GuildMember); public readonly hoist: Role | null; public readonly color: Role | null; public readonly highest: Role; @@ -2707,7 +2707,7 @@ export class GuildMemberRoleManager extends DataManager { - public constructor(channel: TextBasedChannels, iterable?: Iterable); + private constructor(channel: TextBasedChannels, iterable?: Iterable); public channel: TextBasedChannels; public cache: Collection; public crosspost(message: MessageResolvable): Promise; @@ -2729,7 +2729,7 @@ export class PermissionOverwriteManager extends CachedManager< PermissionOverwrites, PermissionOverwriteResolvable > { - public constructor(client: Client, iterable?: Iterable); + private constructor(client: Client, iterable?: Iterable); public set( overwrites: readonly OverwriteResolvable[] | Collection, reason?: string, @@ -2754,24 +2754,24 @@ export class PermissionOverwriteManager extends CachedManager< } export class PresenceManager extends CachedManager { - public constructor(client: Client, iterable?: Iterable); + private constructor(client: Client, iterable?: Iterable); } export class ReactionManager extends CachedManager { - public constructor(message: Message, iterable?: Iterable); + private constructor(message: Message, iterable?: Iterable); public message: Message; public removeAll(): Promise; } export class ReactionUserManager extends CachedManager { - public constructor(reaction: MessageReaction, iterable?: Iterable); + private constructor(reaction: MessageReaction, iterable?: Iterable); public reaction: MessageReaction; public fetch(options?: FetchReactionUsersOptions): Promise>; public remove(user?: UserResolvable): Promise; } export class RoleManager extends CachedManager { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public readonly everyone: Role; public readonly highest: Role; public guild: Guild; @@ -2784,7 +2784,7 @@ export class RoleManager extends CachedManager } export class StageInstanceManager extends CachedManager { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; public create(channel: StageChannelResolvable, options: StageInstanceCreateOptions): Promise; public fetch(channel: StageChannelResolvable, options?: BaseFetchOptions): Promise; @@ -2793,7 +2793,7 @@ export class StageInstanceManager extends CachedManager extends CachedManager { - public constructor(channel: TextChannel | NewsChannel, iterable?: Iterable); + private constructor(channel: TextChannel | NewsChannel, iterable?: Iterable); public channel: TextChannel | NewsChannel; public create(options: ThreadCreateOptions): Promise; public fetch(options: ThreadChannelResolvable, cacheOptions?: BaseFetchOptions): Promise; @@ -2803,7 +2803,7 @@ export class ThreadManager extends CachedManager { - public constructor(thread: ThreadChannel, iterable?: Iterable); + private constructor(thread: ThreadChannel, iterable?: Iterable); public thread: ThreadChannel; public add(member: UserResolvable | '@me', reason?: string): Promise; public fetch(cache?: boolean): Promise>; @@ -2811,12 +2811,12 @@ export class ThreadMemberManager extends CachedManager { - public constructor(client: Client, iterable?: Iterable); + private constructor(client: Client, iterable?: Iterable); public fetch(user: UserResolvable, options?: BaseFetchOptions): Promise; } export class VoiceStateManager extends CachedManager { - public constructor(guild: Guild, iterable?: Iterable); + private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; } @@ -2828,7 +2828,7 @@ export class VoiceStateManager extends CachedManager = new (...args: any[]) => T; +export type Constructable = abstract new (...args: any[]) => T; export function PartialTextBasedChannel(Base?: Constructable): Constructable; export function TextBasedChannel( Base?: Constructable,