mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
types(interactionCollector): filter should have a collected argument (#7753)
This commit is contained in:
8
packages/discord.js/typings/index.d.ts
vendored
8
packages/discord.js/typings/index.d.ts
vendored
@@ -1478,7 +1478,7 @@ export class Interaction<Cached extends CacheType = CacheType> extends Base {
|
||||
public isModalSubmit(): this is ModalSubmitInteraction<Cached>;
|
||||
}
|
||||
|
||||
export class InteractionCollector<T extends Interaction> extends Collector<Snowflake, T> {
|
||||
export class InteractionCollector<T extends Interaction> extends Collector<Snowflake, T, [Collection<Snowflake, T>]> {
|
||||
public constructor(client: Client, options?: InteractionCollectorOptions<T>);
|
||||
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<Snowflake, Message> {
|
||||
export class MessageCollector extends Collector<Snowflake, Message, [Collection<Snowflake, Message>]> {
|
||||
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<T extends Interaction, Cached extends CacheType = CacheType>
|
||||
extends CollectorOptions<[T]> {
|
||||
extends CollectorOptions<[T, Collection<Snowflake, T>]> {
|
||||
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<Snowflake, Message>]> {
|
||||
max?: number;
|
||||
maxProcessed?: number;
|
||||
}
|
||||
|
||||
@@ -595,7 +595,12 @@ client.on('messageCreate', async message => {
|
||||
|
||||
const buttonCollector = message.createMessageComponentCollector({ componentType: ComponentType.Button });
|
||||
expectType<InteractionCollector<ButtonInteraction<'cached'>>>(buttonCollector);
|
||||
expectAssignable<(test: ButtonInteraction<'cached'>) => boolean | Promise<boolean>>(buttonCollector.filter);
|
||||
expectAssignable<
|
||||
(
|
||||
test: ButtonInteraction<'cached'>,
|
||||
items: Collection<Snowflake, ButtonInteraction<'cached'>>,
|
||||
) => boolean | Promise<boolean>
|
||||
>(buttonCollector.filter);
|
||||
expectType<GuildTextBasedChannel>(message.channel);
|
||||
expectType<Guild>(message.guild);
|
||||
expectType<GuildMember | null>(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<Snowflake, Message>]>(args);
|
||||
});
|
||||
|
||||
(async () => {
|
||||
for await (const value of messageCollector) {
|
||||
expectType<[Message<boolean>]>(value);
|
||||
expectType<[Message<boolean>, Collection<Snowflake, Message>]>(value);
|
||||
}
|
||||
})();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user