From a73d54e43a01719f683e8fd21714e85ffe737add Mon Sep 17 00:00:00 2001 From: GrapeColor <40069549+GrapeColor@users.noreply.github.com> Date: Sat, 8 Jul 2023 06:34:42 +0900 Subject: [PATCH] feat: add resume event in shard (#9650) Co-authored-by: GrapeColor Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- packages/discord.js/src/sharding/Shard.js | 5 +++++ packages/discord.js/src/util/ShardEvents.js | 2 ++ packages/discord.js/typings/index.d.ts | 2 ++ 3 files changed, 9 insertions(+) diff --git a/packages/discord.js/src/sharding/Shard.js b/packages/discord.js/src/sharding/Shard.js index d0bccf09d..0f4e81761 100644 --- a/packages/discord.js/src/sharding/Shard.js +++ b/packages/discord.js/src/sharding/Shard.js @@ -370,6 +370,11 @@ class Shard extends EventEmitter { // Shard has resumed if (message._resume) { this.ready = true; + /** + * Emitted upon the shard's {@link Client#event:shardResume} event. + * @event Shard#resume + */ + this.emit(ShardEvents.Resume); return; } diff --git a/packages/discord.js/src/util/ShardEvents.js b/packages/discord.js/src/util/ShardEvents.js index 8da682266..f5ba96168 100644 --- a/packages/discord.js/src/util/ShardEvents.js +++ b/packages/discord.js/src/util/ShardEvents.js @@ -8,6 +8,7 @@ * @property {string} Message message * @property {string} Ready ready * @property {string} Reconnecting reconnecting + * @property {string} Resume resume * @property {string} Spawn spawn */ @@ -23,5 +24,6 @@ module.exports = { Message: 'message', Ready: 'ready', Reconnecting: 'reconnecting', + Resume: 'resume', Spawn: 'spawn', }; diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 58545ef82..520274ae6 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -2635,6 +2635,7 @@ export interface ShardEventTypes { message: [message: any]; ready: []; reconnecting: []; + resume: []; spawn: [process: ChildProcess | Worker]; } @@ -5038,6 +5039,7 @@ export enum ShardEvents { Message = 'message', Ready = 'ready', Reconnecting = 'reconnecting', + Resume = 'resume', Spawn = 'spawn', }