From 7a6babad69c47b1a714418d5f3afeb514bad6b53 Mon Sep 17 00:00:00 2001 From: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> Date: Mon, 5 Sep 2022 15:17:01 -0500 Subject: [PATCH 1/7] fix: `awaitMessageComponent` with `MessageComponentInteraction`s Signed-off-by: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> --- .../discord.js/src/structures/InteractionCollector.js | 10 ++++++++-- .../discord.js/src/structures/InteractionResponse.js | 2 +- packages/discord.js/typings/index.d.ts | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/discord.js/src/structures/InteractionCollector.js b/packages/discord.js/src/structures/InteractionCollector.js index 92f4d63a9ee4..4a8ad4e20001 100644 --- a/packages/discord.js/src/structures/InteractionCollector.js +++ b/packages/discord.js/src/structures/InteractionCollector.js @@ -40,7 +40,7 @@ class InteractionCollector extends Collector { * The message from which to collect interactions, if provided * @type {?Snowflake} */ - this.messageId = options.message?.id ?? null; + this.messageId = options.message?.id ?? options.interactionResponse?.message?.id ?? null; /** * The message interaction id from which to collect interactions, if provided @@ -150,7 +150,13 @@ class InteractionCollector extends Collector { if (this.interactionType && interaction.type !== this.interactionType) return null; if (this.componentType && interaction.componentType !== this.componentType) return null; if (this.messageId && interaction.message?.id !== this.messageId) return null; - if (this.messageInteractionId && interaction.message?.interaction?.id !== this.messageInteractionId) return null; + if ( + this.messageInteractionId && + interaction.message?.interaction?.id && + interaction.message?.interaction?.id !== this.messageInteractionId + ) { + return null; + } if (this.channelId && interaction.channelId !== this.channelId) return null; if (this.guildId && interaction.guildId !== this.guildId) return null; diff --git a/packages/discord.js/src/structures/InteractionResponse.js b/packages/discord.js/src/structures/InteractionResponse.js index b56a7f63a662..7857b386815e 100644 --- a/packages/discord.js/src/structures/InteractionResponse.js +++ b/packages/discord.js/src/structures/InteractionResponse.js @@ -10,7 +10,7 @@ class InteractionResponse { constructor(interaction, id) { /** * The interaction associated with the interaction response - * @type {BaseInteraction} + * @type {CommandInteraction|MessageComponentInteraction|ModalSubmitInteraction} */ this.interaction = interaction; /** diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index c450df38fe44..d985c3c1f5a1 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -483,7 +483,7 @@ export abstract class CommandInteraction e } export class InteractionResponse { - private constructor(interaction: Interaction, id?: Snowflake); + private constructor(interaction: Exclude, id?: Snowflake); public interaction: Interaction>; public client: Client; public id: Snowflake; From 677e247480a684fb36d6ba05d151b69318e3d8a5 Mon Sep 17 00:00:00 2001 From: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> Date: Wed, 7 Sep 2022 16:38:57 -0500 Subject: [PATCH 2/7] Update packages/discord.js/src/structures/InteractionCollector.js Co-authored-by: Almeida --- packages/discord.js/src/structures/InteractionCollector.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/discord.js/src/structures/InteractionCollector.js b/packages/discord.js/src/structures/InteractionCollector.js index 4a8ad4e20001..1949d0161074 100644 --- a/packages/discord.js/src/structures/InteractionCollector.js +++ b/packages/discord.js/src/structures/InteractionCollector.js @@ -153,7 +153,7 @@ class InteractionCollector extends Collector { if ( this.messageInteractionId && interaction.message?.interaction?.id && - interaction.message?.interaction?.id !== this.messageInteractionId + interaction.message.interaction.id !== this.messageInteractionId ) { return null; } From 65be479c716c0d4f3f352343add4fca31e520747 Mon Sep 17 00:00:00 2001 From: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> Date: Fri, 16 Sep 2022 10:27:12 -0500 Subject: [PATCH 3/7] types: revert unrelated changes Signed-off-by: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> --- packages/discord.js/src/structures/InteractionResponse.js | 2 +- packages/discord.js/typings/index.d.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/discord.js/src/structures/InteractionResponse.js b/packages/discord.js/src/structures/InteractionResponse.js index 7857b386815e..b56a7f63a662 100644 --- a/packages/discord.js/src/structures/InteractionResponse.js +++ b/packages/discord.js/src/structures/InteractionResponse.js @@ -10,7 +10,7 @@ class InteractionResponse { constructor(interaction, id) { /** * The interaction associated with the interaction response - * @type {CommandInteraction|MessageComponentInteraction|ModalSubmitInteraction} + * @type {BaseInteraction} */ this.interaction = interaction; /** diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index d985c3c1f5a1..c450df38fe44 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -483,7 +483,7 @@ export abstract class CommandInteraction e } export class InteractionResponse { - private constructor(interaction: Exclude, id?: Snowflake); + private constructor(interaction: Interaction, id?: Snowflake); public interaction: Interaction>; public client: Client; public id: Snowflake; From 61292086c4bb298a1efe765f4a2ac513e435a603 Mon Sep 17 00:00:00 2001 From: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> Date: Fri, 16 Sep 2022 11:10:24 -0500 Subject: [PATCH 4/7] Remove unneeded truey check Signed-off-by: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> --- packages/discord.js/src/structures/InteractionCollector.js | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/packages/discord.js/src/structures/InteractionCollector.js b/packages/discord.js/src/structures/InteractionCollector.js index 1949d0161074..ebe68111c019 100644 --- a/packages/discord.js/src/structures/InteractionCollector.js +++ b/packages/discord.js/src/structures/InteractionCollector.js @@ -150,11 +150,7 @@ class InteractionCollector extends Collector { if (this.interactionType && interaction.type !== this.interactionType) return null; if (this.componentType && interaction.componentType !== this.componentType) return null; if (this.messageId && interaction.message?.id !== this.messageId) return null; - if ( - this.messageInteractionId && - interaction.message?.interaction?.id && - interaction.message.interaction.id !== this.messageInteractionId - ) { + if (this.messageInteractionId && interaction.message?.interaction?.id !== this.messageInteractionId) { return null; } if (this.channelId && interaction.channelId !== this.channelId) return null; From 048e80a8224634f30d2431a488dccd4de713519f Mon Sep 17 00:00:00 2001 From: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> Date: Fri, 16 Sep 2022 11:11:31 -0500 Subject: [PATCH 5/7] chore: remove extra block Signed-off-by: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> --- packages/discord.js/src/structures/InteractionCollector.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/discord.js/src/structures/InteractionCollector.js b/packages/discord.js/src/structures/InteractionCollector.js index ebe68111c019..1c96cd52d14d 100644 --- a/packages/discord.js/src/structures/InteractionCollector.js +++ b/packages/discord.js/src/structures/InteractionCollector.js @@ -150,9 +150,7 @@ class InteractionCollector extends Collector { if (this.interactionType && interaction.type !== this.interactionType) return null; if (this.componentType && interaction.componentType !== this.componentType) return null; if (this.messageId && interaction.message?.id !== this.messageId) return null; - if (this.messageInteractionId && interaction.message?.interaction?.id !== this.messageInteractionId) { - return null; - } + if (this.messageInteractionId && interaction.message?.interaction?.id !== this.messageInteractionId) return null; if (this.channelId && interaction.channelId !== this.channelId) return null; if (this.guildId && interaction.guildId !== this.guildId) return null; From c1b922aad6778c0dc5702f6f7a1ba79cd9fc34f6 Mon Sep 17 00:00:00 2001 From: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> Date: Tue, 27 Sep 2022 10:14:01 -0500 Subject: [PATCH 6/7] fix: `awaitMessageComponent` with `MessageComponentInteraction`s Signed-off-by: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> --- .../src/structures/InteractionCollector.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/discord.js/src/structures/InteractionCollector.js b/packages/discord.js/src/structures/InteractionCollector.js index 1c96cd52d14d..3d06378215ff 100644 --- a/packages/discord.js/src/structures/InteractionCollector.js +++ b/packages/discord.js/src/structures/InteractionCollector.js @@ -40,7 +40,7 @@ class InteractionCollector extends Collector { * The message from which to collect interactions, if provided * @type {?Snowflake} */ - this.messageId = options.message?.id ?? options.interactionResponse?.message?.id ?? null; + this.messageId = options.message?.id ?? options.interactionResponse?.interaction.message?.id ?? null; /** * The message interaction id from which to collect interactions, if provided @@ -150,7 +150,13 @@ class InteractionCollector extends Collector { if (this.interactionType && interaction.type !== this.interactionType) return null; if (this.componentType && interaction.componentType !== this.componentType) return null; if (this.messageId && interaction.message?.id !== this.messageId) return null; - if (this.messageInteractionId && interaction.message?.interaction?.id !== this.messageInteractionId) return null; + if ( + this.messageInteractionId && + interaction.message?.interaction?.id && + interaction.message?.interaction?.id !== this.messageInteractionId + ) { + return null; + } if (this.channelId && interaction.channelId !== this.channelId) return null; if (this.guildId && interaction.guildId !== this.guildId) return null; @@ -171,7 +177,13 @@ class InteractionCollector extends Collector { if (this.type && interaction.type !== this.type) return null; if (this.componentType && interaction.componentType !== this.componentType) return null; if (this.messageId && interaction.message?.id !== this.messageId) return null; - if (this.messageInteractionId && interaction.message?.interaction?.id !== this.messageInteractionId) return null; + if ( + this.messageInteractionId && + interaction.message?.interaction?.id && + interaction.message?.interaction?.id !== this.messageInteractionId + ) { + return null; + } if (this.channelId && interaction.channelId !== this.channelId) return null; if (this.guildId && interaction.guildId !== this.guildId) return null; From 01ae3b3a492d7794926851b192d784165db78a99 Mon Sep 17 00:00:00 2001 From: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> Date: Tue, 27 Sep 2022 11:25:32 -0500 Subject: [PATCH 7/7] fix: `awaitMessageComponent` with `MessageComponentInteraction`s Signed-off-by: RedGuy12 <61329810+RedGuy12@users.noreply.github.com> --- packages/discord.js/src/structures/InteractionCollector.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/discord.js/src/structures/InteractionCollector.js b/packages/discord.js/src/structures/InteractionCollector.js index 3d06378215ff..308e1f675e02 100644 --- a/packages/discord.js/src/structures/InteractionCollector.js +++ b/packages/discord.js/src/structures/InteractionCollector.js @@ -153,7 +153,7 @@ class InteractionCollector extends Collector { if ( this.messageInteractionId && interaction.message?.interaction?.id && - interaction.message?.interaction?.id !== this.messageInteractionId + interaction.message.interaction.id !== this.messageInteractionId ) { return null; } @@ -180,7 +180,7 @@ class InteractionCollector extends Collector { if ( this.messageInteractionId && interaction.message?.interaction?.id && - interaction.message?.interaction?.id !== this.messageInteractionId + interaction.message.interaction.id !== this.messageInteractionId ) { return null; }