diff --git a/packages/discord.js/src/client/websocket/WebSocketManager.js b/packages/discord.js/src/client/websocket/WebSocketManager.js index 8a9e0261a..360715bd3 100644 --- a/packages/discord.js/src/client/websocket/WebSocketManager.js +++ b/packages/discord.js/src/client/websocket/WebSocketManager.js @@ -19,6 +19,7 @@ const Status = require('../../util/Status'); const WebSocketShardEvents = require('../../util/WebSocketShardEvents'); let zlib; +let deprecationEmitted = false; try { zlib = require('zlib-sync'); @@ -379,6 +380,22 @@ class WebSocketManager extends EventEmitter { /** * Emitted when the client becomes ready to start working. * @event Client#ready + * @deprecated Use {@link Client#event:clientReady} instead. + * @param {Client} client The client + */ + if (this.client.emit('ready', this.client) && !deprecationEmitted) { + deprecationEmitted = true; + + process.emitWarning( + // eslint-disable-next-line max-len + 'The ready event has been renamed to clientReady to distinguish it from the gateway READY event and will only emit under that name in v15. Please use clientReady instead.', + 'DeprecationWarning', + ); + } + + /** + * Emitted when the client becomes ready to start working. + * @event Client#clientReady * @param {Client} client The client */ this.client.emit(Events.ClientReady, this.client); diff --git a/packages/discord.js/src/util/Events.js b/packages/discord.js/src/util/Events.js index a1999bf76..ac01707ef 100644 --- a/packages/discord.js/src/util/Events.js +++ b/packages/discord.js/src/util/Events.js @@ -12,7 +12,7 @@ * @property {string} ChannelDelete channelDelete * @property {string} ChannelPinsUpdate channelPinsUpdate * @property {string} ChannelUpdate channelUpdate - * @property {string} ClientReady ready + * @property {string} ClientReady clientReady * @property {string} Debug debug * @property {string} EntitlementCreate entitlementCreate * @property {string} EntitlementUpdate entitlementUpdate @@ -108,7 +108,7 @@ module.exports = { ChannelDelete: 'channelDelete', ChannelPinsUpdate: 'channelPinsUpdate', ChannelUpdate: 'channelUpdate', - ClientReady: 'ready', + ClientReady: 'clientReady', Debug: 'debug', EntitlementCreate: 'entitlementCreate', EntitlementUpdate: 'entitlementUpdate', diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 7e67ecb1f..acee26ddb 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -5790,6 +5790,7 @@ export interface ClientEvents { oldChannel: DMChannel | NonThreadGuildBasedChannel, newChannel: DMChannel | NonThreadGuildBasedChannel, ]; + clientReady: [client: Client]; debug: [message: string]; warn: [message: string]; emojiCreate: [emoji: GuildEmoji]; @@ -5850,6 +5851,7 @@ export interface ClientEvents { newMessage: OmitPartialGroupDMChannel, ]; presenceUpdate: [oldPresence: Presence | null, newPresence: Presence]; + /** @deprecated Use {@link ClientEvents.ClientReady} instead. */ ready: [client: Client]; invalidated: []; roleCreate: [role: Role]; @@ -6035,7 +6037,7 @@ export enum Events { AutoModerationRuleCreate = 'autoModerationRuleCreate', AutoModerationRuleDelete = 'autoModerationRuleDelete', AutoModerationRuleUpdate = 'autoModerationRuleUpdate', - ClientReady = 'ready', + ClientReady = 'clientReady', EntitlementCreate = 'entitlementCreate', EntitlementDelete = 'entitlementDelete', EntitlementUpdate = 'entitlementUpdate',