From f49f70a4ebacf657f22d73043e3a504710821249 Mon Sep 17 00:00:00 2001 From: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com> Date: Mon, 30 Aug 2021 06:55:39 -0400 Subject: [PATCH] fix: await message component collectors should return component interactions not collectors (#6562) --- typings/index.d.ts | 10 +++++++++- typings/tests.ts | 10 +++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/typings/index.d.ts b/typings/index.d.ts index 39dc7b1c0a47..70ccaeeb370e 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -1135,6 +1135,14 @@ type InteractionCollectorReturnType : InteractionCollector; +type InteractionReturnType = T extends + | MessageComponentType + | MessageComponentTypes + ? MappedInteractionCollectorOptions[T] extends InteractionCollectorOptions + ? Item + : never + : MessageComponentInteraction; + type MessageCollectorOptionsParams = | ({ componentType?: T } & InteractionCollectorOptionsResolvable) | InteractionCollectorOptions; @@ -1192,7 +1200,7 @@ export class Message extends Base { public reference: MessageReference | null; public awaitMessageComponent( options?: AwaitMessageCollectorOptionsParams, - ): Promise>; + ): Promise>; public awaitReactions(options?: AwaitReactionsOptions): Promise>; public createReactionCollector(options?: ReactionCollectorOptions): ReactionCollector; public createMessageComponentCollector< diff --git a/typings/tests.ts b/typings/tests.ts index 307fcc31680d..8eea53e86303 100644 --- a/typings/tests.ts +++ b/typings/tests.ts @@ -494,21 +494,17 @@ client.on('messageCreate', message => { // Verify that buttons interactions are inferred. const buttonCollector = message.createMessageComponentCollector({ componentType: 'BUTTON' }); - assertType>>( - message.awaitMessageComponent({ componentType: 'BUTTON' }), - ); + assertType>(message.awaitMessageComponent({ componentType: 'BUTTON' })); assertType>(buttonCollector); // Verify that select menus interaction are inferred. const selectMenuCollector = message.createMessageComponentCollector({ componentType: 'SELECT_MENU' }); - assertType>>( - message.awaitMessageComponent({ componentType: 'SELECT_MENU' }), - ); + assertType>(message.awaitMessageComponent({ componentType: 'SELECT_MENU' })); assertType>(selectMenuCollector); // Verify that message component interactions are default collected types. const defaultCollector = message.createMessageComponentCollector(); - assertType>>(message.awaitMessageComponent()); + assertType>(message.awaitMessageComponent()); assertType>(defaultCollector); // Verify that additional options don't affect default collector types.