From c62823e43de50362ff0dabaf3fd53d2d39e5816b Mon Sep 17 00:00:00 2001 From: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com> Date: Wed, 8 Sep 2021 08:36:15 -0400 Subject: [PATCH] typings: `Message#createMessageComponentCollector` use `MessageComponentInteractionOptions` (#6596) --- typings/index.d.ts | 9 +++++---- typings/tests.ts | 7 ++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/typings/index.d.ts b/typings/index.d.ts index 11083eedd..65fbd87e9 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -1160,7 +1160,7 @@ type InteractionExtractor = | { componentType?: T; - } & InteractionCollectorOptions>; + } & MessageComponentCollectorOptions>; type AwaitMessageCollectorOptionsParams = | { componentType?: T } & Pick< @@ -4026,15 +4026,16 @@ export interface InteractionCollectorOptions extends Coll message?: Message | APIMessage; } -export interface ButtonInteractionCollectorOptions extends InteractionCollectorOptions { +export interface ButtonInteractionCollectorOptions extends MessageComponentCollectorOptions { componentType: 'BUTTON' | MessageComponentTypes.BUTTON; } -export interface SelectMenuInteractionCollectorOptions extends InteractionCollectorOptions { +export interface SelectMenuInteractionCollectorOptions extends MessageComponentCollectorOptions { componentType: 'SELECT_MENU' | MessageComponentTypes.SELECT_MENU; } -export interface MessageInteractionCollectorOptions extends InteractionCollectorOptions { +export interface MessageInteractionCollectorOptions + extends MessageComponentCollectorOptions { componentType: 'ACTION_ROW' | MessageComponentTypes.ACTION_ROW; } diff --git a/typings/tests.ts b/typings/tests.ts index 708e1ba03..64f89a973 100644 --- a/typings/tests.ts +++ b/typings/tests.ts @@ -508,9 +508,14 @@ client.on('messageCreate', message => { assertType>(defaultCollector); // Verify that additional options don't affect default collector types. - const semiDefaultCollector = message.createMessageComponentCollector({ interactionType: 'APPLICATION_COMMAND' }); + const semiDefaultCollector = message.createMessageComponentCollector({ time: 10000 }); assertType>(semiDefaultCollector); + // Verify that interaction collector options can't be used. + + // @ts-expect-error + const interactionOptions = message.createMessageComponentCollector({ interactionType: 'APPLICATION_COMMAND' }); + // Make sure filter parameters are properly inferred. message.createMessageComponentCollector({ filter: i => {