From 2d4971b032a01c05b55c93d6475e61b0d25d69d3 Mon Sep 17 00:00:00 2001 From: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com> Date: Wed, 2 Mar 2022 04:34:22 -0500 Subject: [PATCH] types: allow raw components for reply and message options (#7573) --- packages/discord.js/typings/index.d.ts | 7 ++++++- packages/discord.js/typings/index.test-d.ts | 17 +++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 31cb0bb13..b05a47090 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -94,6 +94,7 @@ import { AuditLogEvent, APIMessageComponentEmoji, EmbedType, + APIActionRowComponentTypes, } from 'discord-api-types/v9'; import { ChildProcess } from 'node:child_process'; import { EventEmitter } from 'node:events'; @@ -4600,7 +4601,11 @@ export interface MessageOptions { nonce?: string | number; content?: string | null; embeds?: (Embed | APIEmbed)[]; - components?: (ActionRow | (Required & ActionRowData))[]; + components?: ( + | ActionRow + | (Required & ActionRowData) + | APIActionRowComponent + )[]; allowedMentions?: MessageMentionOptions; files?: (FileOptions | BufferResolvable | Stream | MessageAttachment)[]; reply?: ReplyOptions; diff --git a/packages/discord.js/typings/index.test-d.ts b/packages/discord.js/typings/index.test-d.ts index 0e2cb3ac2..549f6f63a 100644 --- a/packages/discord.js/typings/index.test-d.ts +++ b/packages/discord.js/typings/index.test-d.ts @@ -740,6 +740,23 @@ client.on('interactionCreate', async interaction => { // @ts-expect-error await interaction.reply({ content: 'Hi!', components: [button] }); + await interaction.reply({ + content: 'test', + components: [ + { + components: [ + { + custom_id: 'abc', + label: 'abc', + style: ButtonStyle.Primary, + type: ComponentType.Button, + }, + ], + type: ComponentType.ActionRow, + }, + ], + }); + if (interaction.isMessageComponent()) { expectType(interaction.channelId); }