Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: awaitMessageComponent with MessageComponentInteractions #8598

Merged
merged 13 commits into from
Jun 14, 2023
Merged
10 changes: 8 additions & 2 deletions packages/discord.js/src/structures/InteractionCollector.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Jiralite marked this conversation as resolved.
Show resolved Hide resolved

/**
* The message interaction id from which to collect interactions, if provided
Expand Down Expand Up @@ -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 &&
cobaltt7 marked this conversation as resolved.
Show resolved Hide resolved
interaction.message?.interaction?.id !== this.messageInteractionId
cobaltt7 marked this conversation as resolved.
Show resolved Hide resolved
cobaltt7 marked this conversation as resolved.
Show resolved Hide resolved
) {
return null;
}
if (this.channelId && interaction.channelId !== this.channelId) return null;
if (this.guildId && interaction.guildId !== this.guildId) return null;

Expand Down
2 changes: 1 addition & 1 deletion packages/discord.js/src/structures/InteractionResponse.js
Original file line number Diff line number Diff line change
Expand Up @@ -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;
/**
Expand Down
2 changes: 1 addition & 1 deletion packages/discord.js/typings/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,7 @@ export abstract class CommandInteraction<Cached extends CacheType = CacheType> e
}

export class InteractionResponse<Cached extends boolean = boolean> {
private constructor(interaction: Interaction, id?: Snowflake);
private constructor(interaction: Exclude<Interaction, AutocompleteInteraction>, id?: Snowflake);
public interaction: Interaction<WrapBooleanCache<Cached>>;
cobaltt7 marked this conversation as resolved.
Show resolved Hide resolved
public client: Client;
public id: Snowflake;
Expand Down