mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 02:23:31 +01:00
refactor(Collector): make filter an option (#5903)
Co-authored-by: SpaceEEC <spaceeec@yahoo.com>
This commit is contained in:
50
typings/index.d.ts
vendored
50
typings/index.d.ts
vendored
@@ -482,7 +482,7 @@ declare module 'discord.js' {
|
||||
}
|
||||
|
||||
export abstract class Collector<K, V> extends EventEmitter {
|
||||
constructor(client: Client, filter: CollectorFilter<[V]>, options?: CollectorOptions);
|
||||
constructor(client: Client, options?: CollectorOptions<[V]>);
|
||||
private _timeout: NodeJS.Timeout | null;
|
||||
private _idletimeout: NodeJS.Timeout | null;
|
||||
|
||||
@@ -492,10 +492,10 @@ declare module 'discord.js' {
|
||||
public abstract endReason: string | null;
|
||||
public filter: CollectorFilter<[V]>;
|
||||
public readonly next: Promise<V>;
|
||||
public options: CollectorOptions;
|
||||
public options: CollectorOptions<[V]>;
|
||||
public checkEnd(): void;
|
||||
public handleCollect(...args: any[]): void;
|
||||
public handleDispose(...args: any[]): void;
|
||||
public handleCollect(...args: any[]): Promise<void>;
|
||||
public handleDispose(...args: any[]): Promise<void>;
|
||||
public stop(reason?: string): void;
|
||||
public resetTimer(options?: CollectorResetTimerOptions): void;
|
||||
public [Symbol.asyncIterator](): AsyncIterableIterator<V>;
|
||||
@@ -1281,19 +1281,11 @@ declare module 'discord.js' {
|
||||
public flags: Readonly<MessageFlags>;
|
||||
public reference: MessageReference | null;
|
||||
public awaitMessageComponentInteraction(
|
||||
filter: CollectorFilter<[MessageComponentInteraction]>,
|
||||
options?: AwaitMessageComponentInteractionOptions,
|
||||
): Promise<MessageComponentInteraction>;
|
||||
public awaitReactions(
|
||||
filter: CollectorFilter<[MessageReaction, User]>,
|
||||
options?: AwaitReactionsOptions,
|
||||
): Promise<Collection<Snowflake | string, MessageReaction>>;
|
||||
public createReactionCollector(
|
||||
filter: CollectorFilter<[MessageReaction, User]>,
|
||||
options?: ReactionCollectorOptions,
|
||||
): ReactionCollector;
|
||||
public awaitReactions(options?: AwaitReactionsOptions): Promise<Collection<Snowflake | string, MessageReaction>>;
|
||||
public createReactionCollector(options?: ReactionCollectorOptions): ReactionCollector;
|
||||
public createMessageComponentInteractionCollector(
|
||||
filter: CollectorFilter<[MessageComponentInteraction]>,
|
||||
options?: MessageComponentInteractionCollectorOptions,
|
||||
): MessageComponentInteractionCollector;
|
||||
public delete(): Promise<Message>;
|
||||
@@ -1372,11 +1364,7 @@ declare module 'discord.js' {
|
||||
}
|
||||
|
||||
export class MessageCollector extends Collector<Snowflake, Message> {
|
||||
constructor(
|
||||
channel: TextChannel | DMChannel,
|
||||
filter: CollectorFilter<[Message]>,
|
||||
options?: MessageCollectorOptions,
|
||||
);
|
||||
constructor(channel: TextChannel | DMChannel, options?: MessageCollectorOptions);
|
||||
private _handleChannelDeletion(channel: GuildChannel): void;
|
||||
private _handleGuildDeletion(guild: Guild): void;
|
||||
|
||||
@@ -1413,7 +1401,6 @@ declare module 'discord.js' {
|
||||
export class MessageComponentInteractionCollector extends Collector<Snowflake, MessageComponentInteraction> {
|
||||
constructor(
|
||||
source: Message | TextChannel | NewsChannel | DMChannel,
|
||||
filter: CollectorFilter<[MessageComponentInteraction]>,
|
||||
options?: MessageComponentInteractionCollectorOptions,
|
||||
);
|
||||
private _handleMessageDeletion(message: Message): void;
|
||||
@@ -1637,7 +1624,7 @@ declare module 'discord.js' {
|
||||
}
|
||||
|
||||
export class ReactionCollector extends Collector<Snowflake | string, MessageReaction> {
|
||||
constructor(message: Message, filter: CollectorFilter<[MessageReaction, User]>, options?: ReactionCollectorOptions);
|
||||
constructor(message: Message, options?: ReactionCollectorOptions);
|
||||
private _handleChannelDeletion(channel: GuildChannel): void;
|
||||
private _handleGuildDeletion(guild: Guild): void;
|
||||
private _handleMessageDeletion(message: Message): void;
|
||||
@@ -1650,7 +1637,7 @@ declare module 'discord.js' {
|
||||
|
||||
public static key(reaction: MessageReaction): Snowflake | string;
|
||||
|
||||
public collect(reaction: MessageReaction): Snowflake | string;
|
||||
public collect(reaction: MessageReaction): Promise<Snowflake | string>;
|
||||
public dispose(reaction: MessageReaction, user: User): Snowflake | string;
|
||||
public empty(): void;
|
||||
|
||||
@@ -2619,22 +2606,17 @@ declare module 'discord.js' {
|
||||
typing: boolean;
|
||||
typingCount: number;
|
||||
awaitMessageComponentInteraction(
|
||||
filter: CollectorFilter<[MessageComponentInteraction]>,
|
||||
options?: AwaitMessageComponentInteractionOptions,
|
||||
): Promise<MessageComponentInteraction>;
|
||||
awaitMessages(
|
||||
filter: CollectorFilter<[Message]>,
|
||||
options?: AwaitMessagesOptions,
|
||||
): Promise<Collection<Snowflake, Message>>;
|
||||
awaitMessages(options?: AwaitMessagesOptions): Promise<Collection<Snowflake, Message>>;
|
||||
bulkDelete(
|
||||
messages: Collection<Snowflake, Message> | readonly MessageResolvable[] | number,
|
||||
filterOld?: boolean,
|
||||
): Promise<Collection<Snowflake, Message>>;
|
||||
createMessageComponentInteractionCollector(
|
||||
filter: CollectorFilter<[MessageComponentInteraction]>,
|
||||
options?: MessageComponentInteractionCollectorOptions,
|
||||
): MessageComponentInteractionCollector;
|
||||
createMessageCollector(filter: CollectorFilter<[Message]>, options?: MessageCollectorOptions): MessageCollector;
|
||||
createMessageCollector(options?: MessageCollectorOptions): MessageCollector;
|
||||
startTyping(count?: number): Promise<void>;
|
||||
stopTyping(force?: boolean): void;
|
||||
}
|
||||
@@ -2873,6 +2855,7 @@ declare module 'discord.js' {
|
||||
}
|
||||
|
||||
interface AwaitMessageComponentInteractionOptions {
|
||||
filter?: CollectorFilter<[MessageComponentInteraction]>;
|
||||
time?: number;
|
||||
}
|
||||
|
||||
@@ -3070,7 +3053,8 @@ declare module 'discord.js' {
|
||||
|
||||
type CollectorFilter<T extends any[]> = (...args: T) => boolean | Promise<boolean>;
|
||||
|
||||
interface CollectorOptions {
|
||||
interface CollectorOptions<T extends any[]> {
|
||||
filter?: CollectorFilter<T>;
|
||||
time?: number;
|
||||
idle?: number;
|
||||
dispose?: boolean;
|
||||
@@ -3641,14 +3625,14 @@ declare module 'discord.js' {
|
||||
|
||||
type MessageButtonStyleResolvable = MessageButtonStyle | MessageButtonStyles;
|
||||
|
||||
interface MessageCollectorOptions extends CollectorOptions {
|
||||
interface MessageCollectorOptions extends CollectorOptions<[Message]> {
|
||||
max?: number;
|
||||
maxProcessed?: number;
|
||||
}
|
||||
|
||||
type MessageComponent = BaseMessageComponent | MessageActionRow | MessageButton | MessageSelectMenu;
|
||||
|
||||
interface MessageComponentInteractionCollectorOptions extends CollectorOptions {
|
||||
interface MessageComponentInteractionCollectorOptions extends CollectorOptions<[MessageComponentInteraction]> {
|
||||
max?: number;
|
||||
maxComponents?: number;
|
||||
maxUsers?: number;
|
||||
@@ -4082,7 +4066,7 @@ declare module 'discord.js' {
|
||||
remainingTime: number;
|
||||
}
|
||||
|
||||
interface ReactionCollectorOptions extends CollectorOptions {
|
||||
interface ReactionCollectorOptions extends CollectorOptions<[MessageReaction, User]> {
|
||||
max?: number;
|
||||
maxEmojis?: number;
|
||||
maxUsers?: number;
|
||||
|
||||
Reference in New Issue
Block a user