From 2cbf418008e4efc15f20b3eddcb50b0b630992c9 Mon Sep 17 00:00:00 2001 From: Almeida Date: Fri, 24 Jan 2025 12:39:37 +0000 Subject: [PATCH] types!: remove `GuildMemberResolvable` (#10713) BREAKING CHANGE: The `GuildMemberResolvable` union has been removed. Use `UserResolvable` instead. --- .../src/managers/GuildMemberManager.js | 17 +++++----------- .../src/managers/VoiceStateManager.js | 2 +- packages/discord.js/src/structures/Guild.js | 4 ++-- .../discord.js/src/structures/GuildChannel.js | 2 +- .../src/structures/PermissionOverwrites.js | 4 ++-- .../src/structures/ThreadChannel.js | 2 +- packages/discord.js/typings/index.d.ts | 20 +++++++++---------- 7 files changed, 21 insertions(+), 30 deletions(-) diff --git a/packages/discord.js/src/managers/GuildMemberManager.js b/packages/discord.js/src/managers/GuildMemberManager.js index a71a20cd6..56d162335 100644 --- a/packages/discord.js/src/managers/GuildMemberManager.js +++ b/packages/discord.js/src/managers/GuildMemberManager.js @@ -40,15 +40,8 @@ class GuildMemberManager extends CachedManager { } /** - * Data that resolves to give a GuildMember object. This can be: - * * A GuildMember object - * * A User resolvable - * @typedef {GuildMember|UserResolvable} GuildMemberResolvable - */ - - /** - * Resolves a {@link GuildMemberResolvable} to a {@link GuildMember} object. - * @param {GuildMemberResolvable} member The user that is part of the guild + * Resolves a {@link UserResolvable} to a {@link GuildMember} object. + * @param {UserResolvable} member The user that is part of the guild * @returns {?GuildMember} */ resolve(member) { @@ -60,8 +53,8 @@ class GuildMemberManager extends CachedManager { } /** - * Resolves a {@link GuildMemberResolvable} to a member id. - * @param {GuildMemberResolvable} member The user that is part of the guild + * Resolves a {@link UserResolvable} to a member id. + * @param {UserResolvable} member The user that is part of the guild * @returns {?Snowflake} */ resolveId(member) { @@ -512,7 +505,7 @@ class GuildMemberManager extends CachedManager { /** * Options used for adding or removing a role from a member. * @typedef {Object} AddOrRemoveGuildMemberRoleOptions - * @property {GuildMemberResolvable} user The user to add/remove the role from + * @property {UserResolvable} user The user to add/remove the role from * @property {RoleResolvable} role The role to add/remove * @property {string} [reason] Reason for adding/removing the role */ diff --git a/packages/discord.js/src/managers/VoiceStateManager.js b/packages/discord.js/src/managers/VoiceStateManager.js index b1a5fba63..1af9eaa26 100644 --- a/packages/discord.js/src/managers/VoiceStateManager.js +++ b/packages/discord.js/src/managers/VoiceStateManager.js @@ -36,7 +36,7 @@ class VoiceStateManager extends CachedManager { /** * Obtains a user's voice state from discord or from the cache if it's already available. - * @param {GuildMemberResolvable|'@me'} member The member whose voice state is to be fetched + * @param {UserResolvable|'@me'} member The member whose voice state is to be fetched * @param {BaseFetchOptions} [options] Additional options for this fetch * @returns {Promise} * @example diff --git a/packages/discord.js/src/structures/Guild.js b/packages/discord.js/src/structures/Guild.js index a1b87a44d..44b17a382 100644 --- a/packages/discord.js/src/structures/Guild.js +++ b/packages/discord.js/src/structures/Guild.js @@ -785,7 +785,7 @@ class Guild extends AnonymousGuild { * @property {?VoiceChannelResolvable} [afkChannel] The AFK channel of the guild * @property {number} [afkTimeout] The AFK timeout of the guild * @property {?(BufferResolvable|Base64Resolvable)} [icon] The icon of the guild - * @property {GuildMemberResolvable} [owner] The owner of the guild + * @property {UserResolvable} [owner] The owner of the guild * @property {?(BufferResolvable|Base64Resolvable)} [splash] The invite splash image of the guild * @property {?(BufferResolvable|Base64Resolvable)} [discoverySplash] The discovery splash image of the guild * @property {?(BufferResolvable|Base64Resolvable)} [banner] The banner of the guild @@ -1148,7 +1148,7 @@ class Guild extends AnonymousGuild { /** * Sets a new owner of the guild. - * @param {GuildMemberResolvable} owner The new owner of the guild + * @param {UserResolvable} owner The new owner of the guild * @param {string} [reason] Reason for setting the new owner * @returns {Promise} * @example diff --git a/packages/discord.js/src/structures/GuildChannel.js b/packages/discord.js/src/structures/GuildChannel.js index 4ec58ccd4..89bd0bba2 100644 --- a/packages/discord.js/src/structures/GuildChannel.js +++ b/packages/discord.js/src/structures/GuildChannel.js @@ -167,7 +167,7 @@ class GuildChannel extends BaseChannel { /** * Gets the overall set of permissions for a member or role in this channel, taking into account channel overwrites. - * @param {GuildMemberResolvable|RoleResolvable} memberOrRole The member or role to obtain the overall permissions for + * @param {UserResolvable|RoleResolvable} memberOrRole The member or role to obtain the overall permissions for * @param {boolean} [checkAdmin=true] Whether having the {@link PermissionFlagsBits.Administrator} permission * will return all permissions * @returns {?Readonly} diff --git a/packages/discord.js/src/structures/PermissionOverwrites.js b/packages/discord.js/src/structures/PermissionOverwrites.js index e91761ece..e8f5e8245 100644 --- a/packages/discord.js/src/structures/PermissionOverwrites.js +++ b/packages/discord.js/src/structures/PermissionOverwrites.js @@ -157,7 +157,7 @@ class PermissionOverwrites extends Base { /** * Data that can be used for a permission overwrite * @typedef {Object} OverwriteData - * @property {GuildMemberResolvable|RoleResolvable} id Member or role this overwrite is for + * @property {UserResolvable|RoleResolvable} id Member or role this overwrite is for * @property {PermissionResolvable} [allow] The permissions to allow * @property {PermissionResolvable} [deny] The permissions to deny * @property {OverwriteType} [type] The type of this OverwriteData (mandatory if `id` is a Snowflake) @@ -174,7 +174,7 @@ class PermissionOverwrites extends Base { const id = guild.roles.resolveId(overwrite.id) ?? guild.client.users.resolveId(overwrite.id); if (!id) { - throw new DiscordjsTypeError(ErrorCodes.InvalidType, 'overwrite.id', 'GuildMemberResolvable or RoleResolvable'); + throw new DiscordjsTypeError(ErrorCodes.InvalidType, 'overwrite.id', 'UserResolvable or RoleResolvable'); } if (overwrite.type !== undefined && (typeof overwrite.type !== 'number' || !(overwrite.type in OverwriteType))) { diff --git a/packages/discord.js/src/structures/ThreadChannel.js b/packages/discord.js/src/structures/ThreadChannel.js index 096962895..30bd74214 100644 --- a/packages/discord.js/src/structures/ThreadChannel.js +++ b/packages/discord.js/src/structures/ThreadChannel.js @@ -274,7 +274,7 @@ class ThreadChannel extends BaseChannel { /** * Gets the overall set of permissions for a member or role in this thread's parent channel, taking overwrites into * account. - * @param {GuildMemberResolvable|RoleResolvable} memberOrRole The member or role to obtain the overall permissions for + * @param {UserResolvable|RoleResolvable} memberOrRole The member or role to obtain the overall permissions for * @param {boolean} [checkAdmin=true] Whether having the {@link PermissionFlagsBits.Administrator} permission * will return all permissions * @returns {?Readonly} diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index c6ea950b1..0ed841fe6 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -1463,7 +1463,7 @@ export class Guild extends AnonymousGuild { ): Promise; public setIcon(icon: BufferResolvable | Base64Resolvable | null, reason?: string): Promise; public setName(name: string, reason?: string): Promise; - public setOwner(owner: GuildMemberResolvable, reason?: string): Promise; + public setOwner(owner: UserResolvable, reason?: string): Promise; public setPreferredLocale(preferredLocale: Locale | null, reason?: string): Promise; public setPublicUpdatesChannel(publicUpdatesChannel: TextChannelResolvable | null, reason?: string): Promise; public setRulesChannel(rulesChannel: TextChannelResolvable | null, reason?: string): Promise; @@ -1564,7 +1564,7 @@ export abstract class GuildChannel extends BaseChannel { public lockPermissions(): Promise; public permissionsFor(memberOrRole: GuildMember | Role, checkAdmin?: boolean): Readonly; public permissionsFor( - memberOrRole: GuildMemberResolvable | RoleResolvable, + memberOrRole: UserResolvable | RoleResolvable, checkAdmin?: boolean, ): Readonly | null; public setName(name: string, reason?: string): Promise; @@ -3321,7 +3321,7 @@ export class ThreadChannel extends BaseCha public leave(): Promise; public permissionsFor(memberOrRole: GuildMember | Role, checkAdmin?: boolean): Readonly; public permissionsFor( - memberOrRole: GuildMemberResolvable | RoleResolvable, + memberOrRole: UserResolvable | RoleResolvable, checkAdmin?: boolean, ): Readonly | null; public fetchOwner(options?: FetchThreadOwnerOptions): Promise; @@ -4177,12 +4177,12 @@ export class GuildManager extends CachedManager { +export class GuildMemberManager extends CachedManager { private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; public get me(): GuildMember | null; @@ -4474,7 +4474,7 @@ export class UserManager extends CachedManager export class VoiceStateManager extends CachedManager { private constructor(guild: Guild, iterable?: Iterable); public guild: Guild; - public fetch(member: GuildMemberResolvable | '@me', options?: BaseFetchOptions): Promise; + public fetch(member: UserResolvable | '@me', options?: BaseFetchOptions): Promise; } //#endregion @@ -5856,7 +5856,7 @@ export interface GuildEditOptions { afkTimeout?: number; afkChannel?: VoiceChannelResolvable | null; icon?: BufferResolvable | Base64Resolvable | null; - owner?: GuildMemberResolvable; + owner?: UserResolvable; splash?: BufferResolvable | Base64Resolvable | null; discoverySplash?: BufferResolvable | Base64Resolvable | null; banner?: BufferResolvable | Base64Resolvable | null; @@ -5911,8 +5911,6 @@ export interface GuildMemberEditOptions { reason?: string; } -export type GuildMemberResolvable = GuildMember | UserResolvable; - export type GuildResolvable = Guild | NonThreadGuildBasedChannel | GuildMember | GuildEmoji | Invite | Role | Snowflake; export interface GuildPruneMembersOptions { @@ -6434,7 +6432,7 @@ export interface MultipleShardSpawnOptions { export interface BaseOverwriteData { allow?: PermissionResolvable; deny?: PermissionResolvable; - id: GuildMemberResolvable | RoleResolvable; + id: UserResolvable | RoleResolvable; type?: OverwriteType; } @@ -6443,7 +6441,7 @@ export interface OverwriteDataWithMandatoryType extends BaseOverwriteData { } export interface OverwriteDataWithOptionalType extends BaseOverwriteData { - id: Exclude; + id: Exclude; } export type OverwriteData = OverwriteDataWithMandatoryType | OverwriteDataWithOptionalType;