From edb79d4f79d6e05a0cddf0878220a61ea96ba889 Mon Sep 17 00:00:00 2001 From: Danial Raza Date: Mon, 17 Feb 2025 21:32:10 +0100 Subject: [PATCH 1/4] feat(additional-info): add more breaking changes --- guide/additional-info/updating-from-v14.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/guide/additional-info/updating-from-v14.md b/guide/additional-info/updating-from-v14.md index 9ea909bbc..f770633fa 100644 --- a/guide/additional-info/updating-from-v14.md +++ b/guide/additional-info/updating-from-v14.md @@ -14,6 +14,10 @@ Make sure you're using the latest LTS version of Node. To check your Node versio `ApplicationCommand#dmPermission` and `ApplicationCommand#setDMPermission()` have been removed. This was legacy functionality for commands—use contexts instead. +### ApplicationCommandManager + +`ApplicationCommandManager#fetch()` method has been updated for consistency with other managers. Previously, it accepted two parameters: `id` (a snowflake or an options object) and an `options` object. Now, it only accepts a single `options` argument, which can be a snowflake or an options object that may include an `id` property. + ### AnnouncementChannel `AnnouncementChannel#addFollower()` now returns `FollowedChannelData` instead of a snowflake. This helps to expose the created webhook id in the target channel. @@ -24,6 +28,10 @@ Make sure you're using the latest LTS version of Node. To check your Node versio ### Client +#### Emojis + +`Client#emojis` has been removed due to confusion with the introduction of application emojis and performance impact. Use `resolveGuildEmoji` utility function to get a cached guild emoji. + #### Ping `Client#ping` has been added to replace the old `WebSocketManager#ping`. This will be `null` when the heartbeat from the gateway is yet to be received. @@ -67,6 +75,10 @@ The underlying WebSocket behaviour has changed. In version 14, this was a non-br - [discordjs/discord.js#10420](https://github.com/discordjs/discord.js/pull/10420) - [discordjs/discord.js#10556](https://github.com/discordjs/discord.js/pull/10556) +### ClientEvents + +`ClientEvents` type has been removed. Use `ClientEventTypes` instead. This change ensures consistency with the rest of the event types across the library. + ### ClientOptions Removed `ClientOptions#shards` and `ClientOptions#shardCount` in favor of `ClientOptions#ws#shardIds` and `ClientOptions#ws#shardCount`. @@ -160,6 +172,10 @@ This utility has been removed. Everything in this class is redundant as all meth Removed `Guild#shard` as WebSocket shards are now handled by @discordjs/ws. +### GuildApplicationCommandManager + +`GuildApplicationCommandManager#fetch()` method has been updated for consistency with other managers. Previously, it accepted two parameters: `id` (a snowflake or an options object) and an `options` object. Now, it only accepts a single `options` argument, which can be a snowflake or an options object that may include an `id` property. + ### GuildAuditLogs `GuildAuditLogsEntry.Targets.All` has been removed. It was not being used. @@ -210,6 +226,10 @@ There are two ways to achieve the same behaviour, so the "helper" option has bee + const { message } = response.resource; ``` +#### GuildMemberResolvable + +`GuildMemberResolvable` type has been removed. It was defined as `GuildMember | UserResolvable`, but `UserResolvable` already includes `GuildMember`. Use `UserResolvable` instead. + #### Premium response type Discord no longer supports the `PREMIUM_REQUIRED` interaction response type. In the past, you would have done this: From 32de684592e056b9eca9c12b6b28679e394e9604 Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Fri, 28 Feb 2025 10:28:12 +0000 Subject: [PATCH 2/4] fix: () --- guide/additional-info/updating-from-v14.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/additional-info/updating-from-v14.md b/guide/additional-info/updating-from-v14.md index f770633fa..04387dfcc 100644 --- a/guide/additional-info/updating-from-v14.md +++ b/guide/additional-info/updating-from-v14.md @@ -30,7 +30,7 @@ Make sure you're using the latest LTS version of Node. To check your Node versio #### Emojis -`Client#emojis` has been removed due to confusion with the introduction of application emojis and performance impact. Use `resolveGuildEmoji` utility function to get a cached guild emoji. +`Client#emojis` has been removed due to confusion with the introduction of application emojis and performance impact. Use the `resolveGuildEmoji()` utility function to get a cached guild emoji. #### Ping From 9623fab92946af949f8f694a173ad0e9bf48ab4d Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Fri, 28 Feb 2025 10:28:25 +0000 Subject: [PATCH 3/4] feat: Add mention for event emitter --- guide/additional-info/updating-from-v14.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/guide/additional-info/updating-from-v14.md b/guide/additional-info/updating-from-v14.md index 04387dfcc..aa9ad1c70 100644 --- a/guide/additional-info/updating-from-v14.md +++ b/guide/additional-info/updating-from-v14.md @@ -147,6 +147,10 @@ emoji.imageURL(); `Emoji#url` has been removed. To allow more granular control of the returned extension, Use `Emoji#imageURL()` instead. +### EventEmitter + +`BaseClient`, `Shard`, `ShardingManager`, and `Collector` now extend `AsyncEventEmitter` instead of `EventEmitter`. This comes from [@vladfrangu/async_event_emitter](https://npmjs.com/package/@vladfrangu/async_event_emitter). + ### Events - `Events.ShardError` has been removed. From df388a54285ffa5f89b091f15db0e876c24d2f34 Mon Sep 17 00:00:00 2001 From: Jiralite <33201955+Jiralite@users.noreply.github.com> Date: Fri, 28 Feb 2025 10:29:19 +0000 Subject: [PATCH 4/4] fix: Move `GuildMemberResolvable` to a correct position --- guide/additional-info/updating-from-v14.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/guide/additional-info/updating-from-v14.md b/guide/additional-info/updating-from-v14.md index aa9ad1c70..b1f9d16fe 100644 --- a/guide/additional-info/updating-from-v14.md +++ b/guide/additional-info/updating-from-v14.md @@ -192,6 +192,10 @@ Removed `Guild#shard` as WebSocket shards are now handled by @discordjs/ws. `GuildChannelManager#addFollower()` now returns `FollowedChannelData` instead of a snowflake. This helps to expose the created webhook id in the target channel. +### GuildMemberResolvable + +`GuildMemberResolvable` type has been removed. It was defined as `GuildMember | UserResolvable`, but `UserResolvable` already includes `GuildMember`. Use `UserResolvable` instead. + ### MessageManager `MessageManager#crosspost()` has been moved to `GuildMessageManager`. This means it will no longer be exposed in `DMMessageManager`. @@ -230,10 +234,6 @@ There are two ways to achieve the same behaviour, so the "helper" option has bee + const { message } = response.resource; ``` -#### GuildMemberResolvable - -`GuildMemberResolvable` type has been removed. It was defined as `GuildMember | UserResolvable`, but `UserResolvable` already includes `GuildMember`. Use `UserResolvable` instead. - #### Premium response type Discord no longer supports the `PREMIUM_REQUIRED` interaction response type. In the past, you would have done this: