mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-18 04:23:31 +01:00
fix(Collector): docs and types (#5937)
This commit is contained in:
@@ -82,7 +82,7 @@ class MessageComponentInteractionCollector extends Collector {
|
|||||||
/**
|
/**
|
||||||
* Handles an incoming interaction for possible collection.
|
* Handles an incoming interaction for possible collection.
|
||||||
* @param {Interaction} interaction The interaction to possibly collect
|
* @param {Interaction} interaction The interaction to possibly collect
|
||||||
* @returns {?(Snowflake|string)}
|
* @returns {?Snowflake}
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
collect(interaction) {
|
collect(interaction) {
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ class ReactionCollector extends Collector {
|
|||||||
* Handles an incoming reaction for possible collection.
|
* Handles an incoming reaction for possible collection.
|
||||||
* @param {MessageReaction} reaction The reaction to possibly collect
|
* @param {MessageReaction} reaction The reaction to possibly collect
|
||||||
* @param {User} user The user that added the reaction
|
* @param {User} user The user that added the reaction
|
||||||
* @returns {Promise<Snowflake|string>}
|
* @returns {Promise<?(Snowflake|string)>}
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
async collect(reaction, user) {
|
async collect(reaction, user) {
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ class Collector extends EventEmitter {
|
|||||||
* @emits Collector#collect
|
* @emits Collector#collect
|
||||||
*/
|
*/
|
||||||
async handleCollect(...args) {
|
async handleCollect(...args) {
|
||||||
const collect = this.collect(...args);
|
const collect = await this.collect(...args);
|
||||||
|
|
||||||
if (collect && (await this.filter(...args, this.collected))) {
|
if (collect && (await this.filter(...args, this.collected))) {
|
||||||
this.collected.set(collect, args[0]);
|
this.collected.set(collect, args[0]);
|
||||||
@@ -269,7 +269,7 @@ class Collector extends EventEmitter {
|
|||||||
* be collected, or returns an object describing the data that should be stored.
|
* be collected, or returns an object describing the data that should be stored.
|
||||||
* @see Collector#handleCollect
|
* @see Collector#handleCollect
|
||||||
* @param {...*} args Any args the event listener emits
|
* @param {...*} args Any args the event listener emits
|
||||||
* @returns {?{key, value}} Data to insert into collection, if any
|
* @returns {?(*|Promise<?*>)} Data to insert into collection, if any
|
||||||
* @abstract
|
* @abstract
|
||||||
*/
|
*/
|
||||||
collect() {}
|
collect() {}
|
||||||
|
|||||||
26
typings/index.d.ts
vendored
26
typings/index.d.ts
vendored
@@ -495,8 +495,8 @@ declare module 'discord.js' {
|
|||||||
public adapters: Map<Snowflake, DiscordGatewayAdapterLibraryMethods>;
|
public adapters: Map<Snowflake, DiscordGatewayAdapterLibraryMethods>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export abstract class Collector<K, V> extends EventEmitter {
|
export abstract class Collector<K, V, F extends any[] = []> extends EventEmitter {
|
||||||
constructor(client: Client, options?: CollectorOptions<[V]>);
|
constructor(client: Client, options?: CollectorOptions<[V, ...F]>);
|
||||||
private _timeout: NodeJS.Timeout | null;
|
private _timeout: NodeJS.Timeout | null;
|
||||||
private _idletimeout: NodeJS.Timeout | null;
|
private _idletimeout: NodeJS.Timeout | null;
|
||||||
|
|
||||||
@@ -504,9 +504,9 @@ declare module 'discord.js' {
|
|||||||
public collected: Collection<K, V>;
|
public collected: Collection<K, V>;
|
||||||
public ended: boolean;
|
public ended: boolean;
|
||||||
public abstract endReason: string | null;
|
public abstract endReason: string | null;
|
||||||
public filter: CollectorFilter<[V]>;
|
public filter: CollectorFilter<[V, ...F]>;
|
||||||
public readonly next: Promise<V>;
|
public readonly next: Promise<V>;
|
||||||
public options: CollectorOptions<[V]>;
|
public options: CollectorOptions<[V, ...F]>;
|
||||||
public checkEnd(): void;
|
public checkEnd(): void;
|
||||||
public handleCollect(...args: any[]): Promise<void>;
|
public handleCollect(...args: any[]): Promise<void>;
|
||||||
public handleDispose(...args: any[]): Promise<void>;
|
public handleDispose(...args: any[]): Promise<void>;
|
||||||
@@ -516,8 +516,8 @@ declare module 'discord.js' {
|
|||||||
public toJSON(): unknown;
|
public toJSON(): unknown;
|
||||||
|
|
||||||
protected listener: (...args: any[]) => void;
|
protected listener: (...args: any[]) => void;
|
||||||
public abstract collect(...args: any[]): K;
|
public abstract collect(...args: any[]): K | null | Promise<K | null>;
|
||||||
public abstract dispose(...args: any[]): K;
|
public abstract dispose(...args: any[]): K | null;
|
||||||
|
|
||||||
public on(event: 'collect' | 'dispose', listener: (...args: any[]) => Awaited<void>): this;
|
public on(event: 'collect' | 'dispose', listener: (...args: any[]) => Awaited<void>): this;
|
||||||
public on(event: 'end', listener: (collected: Collection<K, V>, reason: string) => Awaited<void>): this;
|
public on(event: 'end', listener: (collected: Collection<K, V>, reason: string) => Awaited<void>): this;
|
||||||
@@ -1381,8 +1381,8 @@ declare module 'discord.js' {
|
|||||||
public options: MessageCollectorOptions;
|
public options: MessageCollectorOptions;
|
||||||
public received: number;
|
public received: number;
|
||||||
|
|
||||||
public collect(message: Message): Snowflake;
|
public collect(message: Message): Snowflake | null;
|
||||||
public dispose(message: Message): Snowflake;
|
public dispose(message: Message): Snowflake | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class MessageComponentInteraction extends Interaction {
|
export class MessageComponentInteraction extends Interaction {
|
||||||
@@ -1423,8 +1423,8 @@ declare module 'discord.js' {
|
|||||||
public total: number;
|
public total: number;
|
||||||
public users: Collection<Snowflake, User>;
|
public users: Collection<Snowflake, User>;
|
||||||
|
|
||||||
public collect(interaction: Interaction): Snowflake;
|
public collect(interaction: Interaction): Snowflake | null;
|
||||||
public dispose(interaction: Interaction): Snowflake;
|
public dispose(interaction: Interaction): Snowflake | null;
|
||||||
public on(
|
public on(
|
||||||
event: 'collect' | 'dispose',
|
event: 'collect' | 'dispose',
|
||||||
listener: (interaction: MessageComponentInteraction) => Awaited<void>,
|
listener: (interaction: MessageComponentInteraction) => Awaited<void>,
|
||||||
@@ -1631,7 +1631,7 @@ declare module 'discord.js' {
|
|||||||
public equals(presence: Presence): boolean;
|
public equals(presence: Presence): boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ReactionCollector extends Collector<Snowflake | string, MessageReaction> {
|
export class ReactionCollector extends Collector<Snowflake | string, MessageReaction, [User]> {
|
||||||
constructor(message: Message, options?: ReactionCollectorOptions);
|
constructor(message: Message, options?: ReactionCollectorOptions);
|
||||||
private _handleChannelDeletion(channel: GuildChannel): void;
|
private _handleChannelDeletion(channel: GuildChannel): void;
|
||||||
private _handleGuildDeletion(guild: Guild): void;
|
private _handleGuildDeletion(guild: Guild): void;
|
||||||
@@ -1645,8 +1645,8 @@ declare module 'discord.js' {
|
|||||||
|
|
||||||
public static key(reaction: MessageReaction): Snowflake | string;
|
public static key(reaction: MessageReaction): Snowflake | string;
|
||||||
|
|
||||||
public collect(reaction: MessageReaction): Promise<Snowflake | string>;
|
public collect(reaction: MessageReaction, user: User): Promise<Snowflake | string | null>;
|
||||||
public dispose(reaction: MessageReaction, user: User): Snowflake | string;
|
public dispose(reaction: MessageReaction, user: User): Snowflake | string | null;
|
||||||
public empty(): void;
|
public empty(): void;
|
||||||
|
|
||||||
public on(event: 'collect' | 'dispose' | 'remove', listener: (reaction: MessageReaction, user: User) => void): this;
|
public on(event: 'collect' | 'dispose' | 'remove', listener: (reaction: MessageReaction, user: User) => void): this;
|
||||||
|
|||||||
Reference in New Issue
Block a user