From 62e31cb9ee4b21b15fcce45b2cdfab970bb89824 Mon Sep 17 00:00:00 2001 From: Danial Raza Date: Mon, 4 Dec 2023 21:16:26 +0100 Subject: [PATCH] fix(InteractionResponses): check if ephemeral message flag is used (#10021) --- .../src/structures/interfaces/InteractionResponses.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/discord.js/src/structures/interfaces/InteractionResponses.js b/packages/discord.js/src/structures/interfaces/InteractionResponses.js index 15256e3d6..2704f4276 100644 --- a/packages/discord.js/src/structures/interfaces/InteractionResponses.js +++ b/packages/discord.js/src/structures/interfaces/InteractionResponses.js @@ -3,6 +3,7 @@ const { isJSONEncodable } = require('@discordjs/util'); const { InteractionResponseType, MessageFlags, Routes, InteractionType } = require('discord-api-types/v10'); const { DiscordjsError, ErrorCodes } = require('../../errors'); +const MessageFlagsBitField = require('../../util/MessageFlagsBitField'); const InteractionCollector = require('../InteractionCollector'); const InteractionResponse = require('../InteractionResponse'); const MessagePayload = require('../MessagePayload'); @@ -100,7 +101,6 @@ class InteractionResponses { */ async reply(options) { if (this.deferred || this.replied) throw new DiscordjsError(ErrorCodes.InteractionAlreadyReplied); - this.ephemeral = options.ephemeral ?? false; let messagePayload; if (options instanceof MessagePayload) messagePayload = options; @@ -108,6 +108,8 @@ class InteractionResponses { const { body: data, files } = await messagePayload.resolveBody().resolveFiles(); + this.ephemeral = new MessageFlagsBitField(data.flags).has(MessageFlags.Ephemeral); + await this.client.rest.post(Routes.interactionCallback(this.id, this.token), { body: { type: InteractionResponseType.ChannelMessageWithSource,