mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
feat(typings): explicitly type PremiumTier and Collectors (#5458)
This commit is contained in:
30
typings/index.d.ts
vendored
30
typings/index.d.ts
vendored
@@ -324,7 +324,7 @@ declare module 'discord.js' {
|
||||
}
|
||||
|
||||
export abstract class Collector<K, V> extends EventEmitter {
|
||||
constructor(client: Client, filter: CollectorFilter, options?: CollectorOptions);
|
||||
constructor(client: Client, filter: CollectorFilter<[V]>, options?: CollectorOptions);
|
||||
private _timeout: NodeJS.Timeout | null;
|
||||
private _idletimeout: NodeJS.Timeout | null;
|
||||
|
||||
@@ -332,7 +332,7 @@ declare module 'discord.js' {
|
||||
public collected: Collection<K, V>;
|
||||
public ended: boolean;
|
||||
public abstract endReason: string | null;
|
||||
public filter: CollectorFilter;
|
||||
public filter: CollectorFilter<[V]>;
|
||||
public readonly next: Promise<V>;
|
||||
public options: CollectorOptions;
|
||||
public checkEnd(): void;
|
||||
@@ -1017,10 +1017,13 @@ declare module 'discord.js' {
|
||||
public reference: MessageReference | null;
|
||||
public readonly referencedMessage: Message | null;
|
||||
public awaitReactions(
|
||||
filter: CollectorFilter,
|
||||
filter: CollectorFilter<[MessageReaction, User]>,
|
||||
options?: AwaitReactionsOptions,
|
||||
): Promise<Collection<Snowflake, MessageReaction>>;
|
||||
public createReactionCollector(filter: CollectorFilter, options?: ReactionCollectorOptions): ReactionCollector;
|
||||
public createReactionCollector(
|
||||
filter: CollectorFilter<[MessageReaction, User]>,
|
||||
options?: ReactionCollectorOptions,
|
||||
): ReactionCollector;
|
||||
public delete(): Promise<Message>;
|
||||
public edit(
|
||||
content: APIMessageContentResolvable | MessageEditOptions | MessageEmbed | APIMessage,
|
||||
@@ -1070,7 +1073,11 @@ declare module 'discord.js' {
|
||||
}
|
||||
|
||||
export class MessageCollector extends Collector<Snowflake, Message> {
|
||||
constructor(channel: TextChannel | DMChannel, filter: CollectorFilter, options?: MessageCollectorOptions);
|
||||
constructor(
|
||||
channel: TextChannel | DMChannel,
|
||||
filter: CollectorFilter<[Message]>,
|
||||
options?: MessageCollectorOptions,
|
||||
);
|
||||
private _handleChannelDeletion(channel: GuildChannel): void;
|
||||
private _handleGuildDeletion(guild: Guild): void;
|
||||
|
||||
@@ -1248,7 +1255,7 @@ declare module 'discord.js' {
|
||||
}
|
||||
|
||||
export class ReactionCollector extends Collector<Snowflake, MessageReaction> {
|
||||
constructor(message: Message, filter: CollectorFilter, options?: ReactionCollectorOptions);
|
||||
constructor(message: Message, filter: CollectorFilter<[MessageReaction, User]>, options?: ReactionCollectorOptions);
|
||||
private _handleChannelDeletion(channel: GuildChannel): void;
|
||||
private _handleGuildDeletion(guild: Guild): void;
|
||||
private _handleMessageDeletion(message: Message): void;
|
||||
@@ -2128,12 +2135,15 @@ declare module 'discord.js' {
|
||||
readonly lastPinAt: Date | null;
|
||||
typing: boolean;
|
||||
typingCount: number;
|
||||
awaitMessages(filter: CollectorFilter, options?: AwaitMessagesOptions): Promise<Collection<Snowflake, Message>>;
|
||||
awaitMessages(
|
||||
filter: CollectorFilter<[Message]>,
|
||||
options?: AwaitMessagesOptions,
|
||||
): Promise<Collection<Snowflake, Message>>;
|
||||
bulkDelete(
|
||||
messages: Collection<Snowflake, Message> | readonly MessageResolvable[] | number,
|
||||
filterOld?: boolean,
|
||||
): Promise<Collection<Snowflake, Message>>;
|
||||
createMessageCollector(filter: CollectorFilter, options?: MessageCollectorOptions): MessageCollector;
|
||||
createMessageCollector(filter: CollectorFilter<[Message]>, options?: MessageCollectorOptions): MessageCollector;
|
||||
startTyping(count?: number): Promise<void>;
|
||||
stopTyping(force?: boolean): void;
|
||||
}
|
||||
@@ -2549,7 +2559,7 @@ declare module 'discord.js' {
|
||||
target: WebSocket;
|
||||
}
|
||||
|
||||
type CollectorFilter = (...args: any[]) => boolean | Promise<boolean>;
|
||||
type CollectorFilter<T extends any[]> = (...args: T) => boolean | Promise<boolean>;
|
||||
|
||||
interface CollectorOptions {
|
||||
time?: number;
|
||||
@@ -3149,7 +3159,7 @@ declare module 'discord.js' {
|
||||
id: UserResolvable | RoleResolvable;
|
||||
}
|
||||
|
||||
type PremiumTier = number;
|
||||
type PremiumTier = 0 | 1 | 2 | 3;
|
||||
|
||||
interface PresenceData {
|
||||
status?: PresenceStatusData;
|
||||
|
||||
Reference in New Issue
Block a user