mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-16 11:33:30 +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 {
|
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 _timeout: NodeJS.Timeout | null;
|
||||||
private _idletimeout: NodeJS.Timeout | null;
|
private _idletimeout: NodeJS.Timeout | null;
|
||||||
|
|
||||||
@@ -332,7 +332,7 @@ 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;
|
public filter: CollectorFilter<[V]>;
|
||||||
public readonly next: Promise<V>;
|
public readonly next: Promise<V>;
|
||||||
public options: CollectorOptions;
|
public options: CollectorOptions;
|
||||||
public checkEnd(): void;
|
public checkEnd(): void;
|
||||||
@@ -1017,10 +1017,13 @@ declare module 'discord.js' {
|
|||||||
public reference: MessageReference | null;
|
public reference: MessageReference | null;
|
||||||
public readonly referencedMessage: Message | null;
|
public readonly referencedMessage: Message | null;
|
||||||
public awaitReactions(
|
public awaitReactions(
|
||||||
filter: CollectorFilter,
|
filter: CollectorFilter<[MessageReaction, User]>,
|
||||||
options?: AwaitReactionsOptions,
|
options?: AwaitReactionsOptions,
|
||||||
): Promise<Collection<Snowflake, MessageReaction>>;
|
): 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 delete(): Promise<Message>;
|
||||||
public edit(
|
public edit(
|
||||||
content: APIMessageContentResolvable | MessageEditOptions | MessageEmbed | APIMessage,
|
content: APIMessageContentResolvable | MessageEditOptions | MessageEmbed | APIMessage,
|
||||||
@@ -1070,7 +1073,11 @@ declare module 'discord.js' {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class MessageCollector extends Collector<Snowflake, Message> {
|
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 _handleChannelDeletion(channel: GuildChannel): void;
|
||||||
private _handleGuildDeletion(guild: Guild): void;
|
private _handleGuildDeletion(guild: Guild): void;
|
||||||
|
|
||||||
@@ -1248,7 +1255,7 @@ declare module 'discord.js' {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export class ReactionCollector extends Collector<Snowflake, MessageReaction> {
|
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 _handleChannelDeletion(channel: GuildChannel): void;
|
||||||
private _handleGuildDeletion(guild: Guild): void;
|
private _handleGuildDeletion(guild: Guild): void;
|
||||||
private _handleMessageDeletion(message: Message): void;
|
private _handleMessageDeletion(message: Message): void;
|
||||||
@@ -2128,12 +2135,15 @@ declare module 'discord.js' {
|
|||||||
readonly lastPinAt: Date | null;
|
readonly lastPinAt: Date | null;
|
||||||
typing: boolean;
|
typing: boolean;
|
||||||
typingCount: number;
|
typingCount: number;
|
||||||
awaitMessages(filter: CollectorFilter, options?: AwaitMessagesOptions): Promise<Collection<Snowflake, Message>>;
|
awaitMessages(
|
||||||
|
filter: CollectorFilter<[Message]>,
|
||||||
|
options?: AwaitMessagesOptions,
|
||||||
|
): Promise<Collection<Snowflake, Message>>;
|
||||||
bulkDelete(
|
bulkDelete(
|
||||||
messages: Collection<Snowflake, Message> | readonly MessageResolvable[] | number,
|
messages: Collection<Snowflake, Message> | readonly MessageResolvable[] | number,
|
||||||
filterOld?: boolean,
|
filterOld?: boolean,
|
||||||
): Promise<Collection<Snowflake, Message>>;
|
): Promise<Collection<Snowflake, Message>>;
|
||||||
createMessageCollector(filter: CollectorFilter, options?: MessageCollectorOptions): MessageCollector;
|
createMessageCollector(filter: CollectorFilter<[Message]>, options?: MessageCollectorOptions): MessageCollector;
|
||||||
startTyping(count?: number): Promise<void>;
|
startTyping(count?: number): Promise<void>;
|
||||||
stopTyping(force?: boolean): void;
|
stopTyping(force?: boolean): void;
|
||||||
}
|
}
|
||||||
@@ -2549,7 +2559,7 @@ declare module 'discord.js' {
|
|||||||
target: WebSocket;
|
target: WebSocket;
|
||||||
}
|
}
|
||||||
|
|
||||||
type CollectorFilter = (...args: any[]) => boolean | Promise<boolean>;
|
type CollectorFilter<T extends any[]> = (...args: T) => boolean | Promise<boolean>;
|
||||||
|
|
||||||
interface CollectorOptions {
|
interface CollectorOptions {
|
||||||
time?: number;
|
time?: number;
|
||||||
@@ -3149,7 +3159,7 @@ declare module 'discord.js' {
|
|||||||
id: UserResolvable | RoleResolvable;
|
id: UserResolvable | RoleResolvable;
|
||||||
}
|
}
|
||||||
|
|
||||||
type PremiumTier = number;
|
type PremiumTier = 0 | 1 | 2 | 3;
|
||||||
|
|
||||||
interface PresenceData {
|
interface PresenceData {
|
||||||
status?: PresenceStatusData;
|
status?: PresenceStatusData;
|
||||||
|
|||||||
Reference in New Issue
Block a user