From e4f27051ca921d299c302b600a8c2917e9356ef6 Mon Sep 17 00:00:00 2001 From: Suneet Tipirneni <77477100+suneettipirneni@users.noreply.github.com> Date: Tue, 12 Apr 2022 11:13:03 -0400 Subject: [PATCH] types(interactionCollector): filter should have a collected argument (#7753) --- packages/discord.js/typings/index.d.ts | 8 ++++---- packages/discord.js/typings/index.test-d.ts | 11 ++++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index 10b70e766..f31e0d0ec 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -1478,7 +1478,7 @@ export class Interaction extends Base { public isModalSubmit(): this is ModalSubmitInteraction; } -export class InteractionCollector extends Collector { +export class InteractionCollector extends Collector]> { public constructor(client: Client, options?: InteractionCollectorOptions); private _handleMessageDeletion(message: Message): void; private _handleChannelDeletion(channel: NonThreadGuildBasedChannel): void; @@ -1695,7 +1695,7 @@ export class MessageAttachment { public toJSON(): unknown; } -export class MessageCollector extends Collector { +export class MessageCollector extends Collector]> { public constructor(channel: TextBasedChannel, options?: MessageCollectorOptions); private _handleChannelDeletion(channel: NonThreadGuildBasedChannel): void; private _handleGuildDeletion(guild: Guild): void; @@ -4584,7 +4584,7 @@ export interface IntegrationAccount { export type IntegrationType = 'twitch' | 'youtube' | 'discord'; export interface InteractionCollectorOptions - extends CollectorOptions<[T]> { + extends CollectorOptions<[T, Collection]> { channel?: TextBasedChannelResolvable; componentType?: ComponentType; guild?: GuildResolvable; @@ -4677,7 +4677,7 @@ export interface InteractionButtonComponentData extends BaseButtonComponentData export type ButtonComponentData = InteractionButtonComponentData | LinkButtonComponentData; -export interface MessageCollectorOptions extends CollectorOptions<[Message]> { +export interface MessageCollectorOptions extends CollectorOptions<[Message, Collection]> { max?: number; maxProcessed?: number; } diff --git a/packages/discord.js/typings/index.test-d.ts b/packages/discord.js/typings/index.test-d.ts index 11dd08462..ad8eb79e1 100644 --- a/packages/discord.js/typings/index.test-d.ts +++ b/packages/discord.js/typings/index.test-d.ts @@ -595,7 +595,12 @@ client.on('messageCreate', async message => { const buttonCollector = message.createMessageComponentCollector({ componentType: ComponentType.Button }); expectType>>(buttonCollector); - expectAssignable<(test: ButtonInteraction<'cached'>) => boolean | Promise>(buttonCollector.filter); + expectAssignable< + ( + test: ButtonInteraction<'cached'>, + items: Collection>, + ) => boolean | Promise + >(buttonCollector.filter); expectType(message.channel); expectType(message.guild); expectType(message.member); @@ -916,12 +921,12 @@ notPropertyOf(guildMember, 'lastMessageId'); // Test collector event parameters declare const messageCollector: MessageCollector; messageCollector.on('collect', (...args) => { - expectType<[Message]>(args); + expectType<[Message, Collection]>(args); }); (async () => { for await (const value of messageCollector) { - expectType<[Message]>(value); + expectType<[Message, Collection]>(value); } })();