mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-19 13:03: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>;
|
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>);
|
public constructor(client: Client, options?: InteractionCollectorOptions<T>);
|
||||||
private _handleMessageDeletion(message: Message): void;
|
private _handleMessageDeletion(message: Message): void;
|
||||||
private _handleChannelDeletion(channel: NonThreadGuildBasedChannel): void;
|
private _handleChannelDeletion(channel: NonThreadGuildBasedChannel): void;
|
||||||
@@ -1695,7 +1695,7 @@ export class MessageAttachment {
|
|||||||
public toJSON(): unknown;
|
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);
|
public constructor(channel: TextBasedChannel, options?: MessageCollectorOptions);
|
||||||
private _handleChannelDeletion(channel: NonThreadGuildBasedChannel): void;
|
private _handleChannelDeletion(channel: NonThreadGuildBasedChannel): void;
|
||||||
private _handleGuildDeletion(guild: Guild): void;
|
private _handleGuildDeletion(guild: Guild): void;
|
||||||
@@ -4584,7 +4584,7 @@ export interface IntegrationAccount {
|
|||||||
export type IntegrationType = 'twitch' | 'youtube' | 'discord';
|
export type IntegrationType = 'twitch' | 'youtube' | 'discord';
|
||||||
|
|
||||||
export interface InteractionCollectorOptions<T extends Interaction, Cached extends CacheType = CacheType>
|
export interface InteractionCollectorOptions<T extends Interaction, Cached extends CacheType = CacheType>
|
||||||
extends CollectorOptions<[T]> {
|
extends CollectorOptions<[T, Collection<Snowflake, T>]> {
|
||||||
channel?: TextBasedChannelResolvable;
|
channel?: TextBasedChannelResolvable;
|
||||||
componentType?: ComponentType;
|
componentType?: ComponentType;
|
||||||
guild?: GuildResolvable;
|
guild?: GuildResolvable;
|
||||||
@@ -4677,7 +4677,7 @@ export interface InteractionButtonComponentData extends BaseButtonComponentData
|
|||||||
|
|
||||||
export type ButtonComponentData = InteractionButtonComponentData | LinkButtonComponentData;
|
export type ButtonComponentData = InteractionButtonComponentData | LinkButtonComponentData;
|
||||||
|
|
||||||
export interface MessageCollectorOptions extends CollectorOptions<[Message]> {
|
export interface MessageCollectorOptions extends CollectorOptions<[Message, Collection<Snowflake, Message>]> {
|
||||||
max?: number;
|
max?: number;
|
||||||
maxProcessed?: number;
|
maxProcessed?: number;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -595,7 +595,12 @@ client.on('messageCreate', async message => {
|
|||||||
|
|
||||||
const buttonCollector = message.createMessageComponentCollector({ componentType: ComponentType.Button });
|
const buttonCollector = message.createMessageComponentCollector({ componentType: ComponentType.Button });
|
||||||
expectType<InteractionCollector<ButtonInteraction<'cached'>>>(buttonCollector);
|
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<GuildTextBasedChannel>(message.channel);
|
||||||
expectType<Guild>(message.guild);
|
expectType<Guild>(message.guild);
|
||||||
expectType<GuildMember | null>(message.member);
|
expectType<GuildMember | null>(message.member);
|
||||||
@@ -916,12 +921,12 @@ notPropertyOf(guildMember, 'lastMessageId');
|
|||||||
// Test collector event parameters
|
// Test collector event parameters
|
||||||
declare const messageCollector: MessageCollector;
|
declare const messageCollector: MessageCollector;
|
||||||
messageCollector.on('collect', (...args) => {
|
messageCollector.on('collect', (...args) => {
|
||||||
expectType<[Message]>(args);
|
expectType<[Message, Collection<Snowflake, Message>]>(args);
|
||||||
});
|
});
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
for await (const value of messageCollector) {
|
for await (const value of messageCollector) {
|
||||||
expectType<[Message<boolean>]>(value);
|
expectType<[Message<boolean>, Collection<Snowflake, Message>]>(value);
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user