typings: Convert types to interfaces where applicable (#3068)

This commit is contained in:
Kyra
2019-02-24 05:14:09 +01:00
committed by Zack Campbell
parent 4d3f76656a
commit bc0a761e22

340
typings/index.d.ts vendored
View File

@@ -1,11 +1,3 @@
// Type definitions for discord.js 12.0.0
// Project: https://github.com/hydrabolt/discord.js
// Definitions by:
// acdenisSK <acdenissk69@gmail.com> (https://github.com/acdenisSK)
// Zack Campbell <zajrik@gmail.com> (https://github.com/zajrik)
// iCrawl <icrawltogo@gmail.com> (https://github.com/iCrawl)
// License: MIT
declare module 'discord.js' { declare module 'discord.js' {
import { EventEmitter } from 'events'; import { EventEmitter } from 'events';
import { Stream, Readable, Writable } from 'stream'; import { Stream, Readable, Writable } from 'stream';
@@ -72,7 +64,7 @@ declare module 'discord.js' {
} }
export class Base { export class Base {
constructor (client: Client); constructor(client: Client);
public readonly client: Client; public readonly client: Client;
public toJSON(...props: { [key: string]: boolean | string }[]): object; public toJSON(...props: { [key: string]: boolean | string }[]): object;
public valueOf(): string; public valueOf(): string;
@@ -837,7 +829,7 @@ declare module 'discord.js' {
public once(event: 'end', listener: (collected: Collection<Snowflake, MessageReaction>, reason: string) => void): this; public once(event: 'end', listener: (collected: Collection<Snowflake, MessageReaction>, reason: string) => void): this;
public once(event: 'remove', listener: (reaction: MessageReaction, user: User) => void): this; public once(event: 'remove', listener: (reaction: MessageReaction, user: User) => void): this;
public once(event: string, listener: Function): this; public once(event: string, listener: Function): this;
} }
export class ReactionEmoji extends Emoji { export class ReactionEmoji extends Emoji {
constructor(reaction: MessageReaction, emoji: object); constructor(reaction: MessageReaction, emoji: object);
@@ -1340,7 +1332,7 @@ declare module 'discord.js' {
} }
// Hacky workaround because changing the signature of an overriden method errors // Hacky workaround because changing the signature of an overriden method errors
class OverridableDataStore<V, K, VConstructor = Constructable<V>, R = any> extends DataStore<V, K , VConstructor, R> { class OverridableDataStore<V, K, VConstructor = Constructable<V>, R = any> extends DataStore<V, K, VConstructor, R> {
public add(data: any, cache: any): any; public add(data: any, cache: any): any;
public set(key: any): any; public set(key: any): any;
} }
@@ -1419,7 +1411,7 @@ declare module 'discord.js' {
const PartialTextBasedChannel: <T>(Base?: Constructable<T>) => Constructable<T & PartialTextBasedChannelFields>; const PartialTextBasedChannel: <T>(Base?: Constructable<T>) => Constructable<T & PartialTextBasedChannelFields>;
const TextBasedChannel: <T>(Base?: Constructable<T>) => Constructable<T & TextBasedChannelFields>; const TextBasedChannel: <T>(Base?: Constructable<T>) => Constructable<T & TextBasedChannelFields>;
type PartialTextBasedChannelFields = { interface PartialTextBasedChannelFields {
lastMessageID: Snowflake; lastMessageID: Snowflake;
lastMessageChannelID: Snowflake; lastMessageChannelID: Snowflake;
readonly lastMessage: Message; readonly lastMessage: Message;
@@ -1427,9 +1419,9 @@ declare module 'discord.js' {
readonly lastPinAt: Date; readonly lastPinAt: Date;
send(content?: StringResolvable, options?: MessageOptions | MessageAdditions): Promise<Message | Message[]>; send(content?: StringResolvable, options?: MessageOptions | MessageAdditions): Promise<Message | Message[]>;
send(options?: MessageOptions | MessageAdditions | APIMessage): Promise<Message | Message[]>; send(options?: MessageOptions | MessageAdditions | APIMessage): Promise<Message | Message[]>;
}; }
type TextBasedChannelFields = { interface TextBasedChannelFields extends PartialTextBasedChannelFields {
typing: boolean; typing: boolean;
typingCount: number; typingCount: number;
awaitMessages(filter: CollectorFilter, options?: AwaitMessagesOptions): Promise<Collection<Snowflake, Message>>; awaitMessages(filter: CollectorFilter, options?: AwaitMessagesOptions): Promise<Collection<Snowflake, Message>>;
@@ -1437,11 +1429,11 @@ declare module 'discord.js' {
createMessageCollector(filter: CollectorFilter, options?: MessageCollectorOptions): MessageCollector; createMessageCollector(filter: CollectorFilter, options?: MessageCollectorOptions): MessageCollector;
startTyping(count?: number): Promise<void>; startTyping(count?: number): Promise<void>;
stopTyping(force?: boolean): void; stopTyping(force?: boolean): void;
} & PartialTextBasedChannelFields; }
const WebhookMixin: <T>(Base?: Constructable<T>) => Constructable<T & WebhookFields>; const WebhookMixin: <T>(Base?: Constructable<T>) => Constructable<T & WebhookFields>;
type WebhookFields = { interface WebhookFields {
readonly client: Client; readonly client: Client;
id: Snowflake; id: Snowflake;
token: string; token: string;
@@ -1449,21 +1441,26 @@ declare module 'discord.js' {
edit(options: WebhookEditData): Promise<Webhook>; edit(options: WebhookEditData): Promise<Webhook>;
send(content?: StringResolvable, options?: WebhookMessageOptions | MessageAdditions): Promise<Message | Message[]>; send(content?: StringResolvable, options?: WebhookMessageOptions | MessageAdditions): Promise<Message | Message[]>;
send(options?: WebhookMessageOptions | MessageAdditions | APIMessage): Promise<Message | Message[]>; send(options?: WebhookMessageOptions | MessageAdditions | APIMessage): Promise<Message | Message[]>;
sendSlackMessage(body: object): Promise<Message|object>; sendSlackMessage(body: object): Promise<Message | object>;
}; }
//#endregion //#endregion
//#region Typedefs //#region Typedefs
type ActivityFlagsString = 'INSTANCE' | 'JOIN' | 'SPECTATE' | 'JOIN_REQUEST' | 'SYNC' | 'PLAY'; type ActivityFlagsString = 'INSTANCE'
| 'JOIN'
| 'SPECTATE'
| 'JOIN_REQUEST'
| 'SYNC'
| 'PLAY';
type ActivityType = 'PLAYING' type ActivityType = 'PLAYING'
| 'STREAMING' | 'STREAMING'
| 'LISTENING' | 'LISTENING'
| 'WATCHING'; | 'WATCHING';
type APIErrror = { interface APIErrror {
UNKNOWN_ACCOUNT: number; UNKNOWN_ACCOUNT: number;
UNKNOWN_APPLICATION: number; UNKNOWN_APPLICATION: number;
UNKNOWN_CHANNEL: number; UNKNOWN_CHANNEL: number;
@@ -1508,35 +1505,39 @@ declare module 'discord.js' {
BULK_DELETE_MESSAGE_TOO_OLD: number; BULK_DELETE_MESSAGE_TOO_OLD: number;
INVITE_ACCEPTED_TO_GUILD_NOT_CONTAINING_BOT: number; INVITE_ACCEPTED_TO_GUILD_NOT_CONTAINING_BOT: number;
REACTION_BLOCKED: number; REACTION_BLOCKED: number;
}; }
type AddGuildMemberOptions = { interface AddGuildMemberOptions {
accessToken: String; accessToken: String;
nick?: string; nick?: string;
roles?: Collection<Snowflake, Role> | RoleResolvable[]; roles?: Collection<Snowflake, Role> | RoleResolvable[];
mute?: boolean; mute?: boolean;
deaf?: boolean; deaf?: boolean;
}; }
type AuditLogChange = { interface AuditLogChange {
key: string; key: string;
old?: any; old?: any;
new?: any; new?: any;
}; }
type AvatarOptions = { interface AvatarOptions {
format?: ImageExt; format?: ImageExt;
size?: ImageSize; size?: ImageSize;
}; }
type AwaitMessagesOptions = MessageCollectorOptions & { errors?: string[] }; interface AwaitMessagesOptions extends MessageCollectorOptions {
errors?: string[];
}
type AwaitReactionsOptions = ReactionCollectorOptions & { errors?: string[] }; interface AwaitReactionsOptions extends ReactionCollectorOptions {
errors?: string[];
}
type BanOptions = { interface BanOptions {
days?: number; days?: number;
reason?: string; reason?: string;
}; }
type Base64Resolvable = Buffer | Base64String; type Base64Resolvable = Buffer | Base64String;
@@ -1546,13 +1547,13 @@ declare module 'discord.js' {
type BufferResolvable = Buffer | string; type BufferResolvable = Buffer | string;
type ChannelCreationOverwrites = { interface ChannelCreationOverwrites {
allow?: PermissionResolvable | number; allow?: PermissionResolvable | number;
deny?: PermissionResolvable | number; deny?: PermissionResolvable | number;
id: RoleResolvable | UserResolvable; id: RoleResolvable | UserResolvable;
}; }
type ChannelData = { interface ChannelData {
name?: string; name?: string;
position?: number; position?: number;
topic?: string; topic?: string;
@@ -1563,29 +1564,29 @@ declare module 'discord.js' {
rateLimitPerUser?: number; rateLimitPerUser?: number;
lockPermissions?: boolean; lockPermissions?: boolean;
permissionOverwrites?: OverwriteResolvable[] | Collection<Snowflake, OverwriteResolvable>; permissionOverwrites?: OverwriteResolvable[] | Collection<Snowflake, OverwriteResolvable>;
}; }
type ChannelLogsQueryOptions = { interface ChannelLogsQueryOptions {
limit?: number limit?: number;
before?: Snowflake before?: Snowflake;
after?: Snowflake after?: Snowflake;
around?: Snowflake around?: Snowflake;
}; }
type ChannelPosition = { interface ChannelPosition {
channel: ChannelResolvable; channel: ChannelResolvable;
position: number; position: number;
}; }
type ChannelResolvable = Channel | Snowflake; type ChannelResolvable = Channel | Snowflake;
type ClientApplicationAsset = { interface ClientApplicationAsset {
name: string; name: string;
id: Snowflake; id: Snowflake;
type: 'BIG' | 'SMALL'; type: 'BIG' | 'SMALL';
}; }
type ClientOptions = { interface ClientOptions {
shards?: number | number[]; shards?: number | number[];
shardCount?: number; shardCount?: number;
totalShardCount?: number; totalShardCount?: number;
@@ -1603,15 +1604,16 @@ declare module 'discord.js' {
disabledEvents?: WSEventType[]; disabledEvents?: WSEventType[];
ws?: WebSocketOptions; ws?: WebSocketOptions;
http?: HTTPOptions; http?: HTTPOptions;
}; }
type CollectorFilter = (...args: any[]) => boolean; type CollectorFilter = (...args: any[]) => boolean;
type CollectorOptions = {
interface CollectorOptions {
time?: number; time?: number;
dispose?: boolean; dispose?: boolean;
}; }
type ColorResolvable = ('DEFAULT' type ColorResolvable = 'DEFAULT'
| 'AQUA' | 'AQUA'
| 'GREEN' | 'GREEN'
| 'BLUE' | 'BLUE'
@@ -1634,34 +1636,38 @@ declare module 'discord.js' {
| 'DARK_GREY' | 'DARK_GREY'
| 'LIGHT_GREY' | 'LIGHT_GREY'
| 'DARK_NAVY' | 'DARK_NAVY'
| 'RANDOM') | 'RANDOM'
| [number, number, number] | [number, number, number]
| number | number
| string; | string;
type DeconstructedSnowflake = { interface DeconstructedSnowflake {
timestamp: number; timestamp: number;
readonly date: Date; readonly date: Date;
workerID: number; workerID: number;
processID: number; processID: number;
increment: number; increment: number;
binary: string; binary: string;
}; }
type DefaultMessageNotifications = 'ALL' | 'MENTIONS'; type DefaultMessageNotifications = 'ALL' | 'MENTIONS';
type GuildEmojiEditData = { interface GuildEmojiEditData {
name?: string; name?: string;
roles?: Collection<Snowflake, Role> | RoleResolvable[]; roles?: Collection<Snowflake, Role> | RoleResolvable[];
}; }
type EmbedField = { name: string, value: string, inline?: boolean }; interface EmbedField {
name: string;
value: string;
inline?: boolean;
}
type EmojiIdentifierResolvable = string | EmojiResolvable; type EmojiIdentifierResolvable = string | EmojiResolvable;
type EmojiResolvable = Snowflake | GuildEmoji | ReactionEmoji; type EmojiResolvable = Snowflake | GuildEmoji | ReactionEmoji;
type Extendable = { interface Extendable {
GuildEmoji: typeof GuildEmoji; GuildEmoji: typeof GuildEmoji;
DMChannel: typeof DMChannel; DMChannel: typeof DMChannel;
TextChannel: typeof TextChannel; TextChannel: typeof TextChannel;
@@ -1676,76 +1682,76 @@ declare module 'discord.js' {
VoiceState: typeof VoiceState; VoiceState: typeof VoiceState;
Role: typeof Role; Role: typeof Role;
User: typeof User; User: typeof User;
}; }
type FetchMemberOptions = { interface FetchMemberOptions {
user: UserResolvable; user: UserResolvable;
cache?: boolean; cache?: boolean;
}; }
type FetchMembersOptions = { interface FetchMembersOptions {
query?: string; query?: string;
limit?: number; limit?: number;
}; }
type FileOptions = { interface FileOptions {
attachment: BufferResolvable | Stream; attachment: BufferResolvable | Stream;
name?: string; name?: string;
}; }
type GroupActivity = { interface GroupActivity {
partyID: string; partyID: string;
type: number; type: number;
}; }
type GuildAuditLogsAction = keyof GuildAuditLogsActions; type GuildAuditLogsAction = keyof GuildAuditLogsActions;
type GuildAuditLogsActions = { interface GuildAuditLogsActions {
ALL?: null, ALL?: null;
GUILD_UPDATE?: number, GUILD_UPDATE?: number;
CHANNEL_CREATE?: number, CHANNEL_CREATE?: number;
CHANNEL_UPDATE?: number, CHANNEL_UPDATE?: number;
CHANNEL_DELETE?: number, CHANNEL_DELETE?: number;
CHANNEL_OVERWRITE_CREATE?: number, CHANNEL_OVERWRITE_CREATE?: number;
CHANNEL_OVERWRITE_UPDATE?: number, CHANNEL_OVERWRITE_UPDATE?: number;
CHANNEL_OVERWRITE_DELETE?: number, CHANNEL_OVERWRITE_DELETE?: number;
MEMBER_KICK?: number, MEMBER_KICK?: number;
MEMBER_PRUNE?: number, MEMBER_PRUNE?: number;
MEMBER_BAN_ADD?: number, MEMBER_BAN_ADD?: number;
MEMBER_BAN_REMOVE?: number, MEMBER_BAN_REMOVE?: number;
MEMBER_UPDATE?: number, MEMBER_UPDATE?: number;
MEMBER_ROLE_UPDATE?: number, MEMBER_ROLE_UPDATE?: number;
ROLE_CREATE?: number, ROLE_CREATE?: number;
ROLE_UPDATE?: number, ROLE_UPDATE?: number;
ROLE_DELETE?: number, ROLE_DELETE?: number;
INVITE_CREATE?: number, INVITE_CREATE?: number;
INVITE_UPDATE?: number, INVITE_UPDATE?: number;
INVITE_DELETE?: number, INVITE_DELETE?: number;
WEBHOOK_CREATE?: number, WEBHOOK_CREATE?: number;
WEBHOOK_UPDATE?: number, WEBHOOK_UPDATE?: number;
WEBHOOK_DELETE?: number, WEBHOOK_DELETE?: number;
EMOJI_CREATE?: number, EMOJI_CREATE?: number;
EMOJI_UPDATE?: number, EMOJI_UPDATE?: number;
EMOJI_DELETE?: number, EMOJI_DELETE?: number;
MESSAGE_DELETE?: number MESSAGE_DELETE?: number;
}; }
type GuildAuditLogsActionType = 'CREATE' type GuildAuditLogsActionType = 'CREATE'
| 'DELETE' | 'DELETE'
| 'UPDATE' | 'UPDATE'
| 'ALL'; | 'ALL';
type GuildAuditLogsFetchOptions = { interface GuildAuditLogsFetchOptions {
before?: Snowflake | GuildAuditLogsEntry; before?: Snowflake | GuildAuditLogsEntry;
after?: Snowflake | GuildAuditLogsEntry; after?: Snowflake | GuildAuditLogsEntry;
limit?: number; limit?: number;
user?: UserResolvable; user?: UserResolvable;
type?: string | number; type?: string | number;
}; }
type GuildAuditLogsTarget = keyof GuildAuditLogsTargets; type GuildAuditLogsTarget = keyof GuildAuditLogsTargets;
type GuildAuditLogsTargets = { interface GuildAuditLogsTargets {
ALL?: string; ALL?: string;
GUILD?: string; GUILD?: string;
CHANNEL?: string; CHANNEL?: string;
@@ -1755,11 +1761,11 @@ declare module 'discord.js' {
WEBHOOK?: string; WEBHOOK?: string;
EMOJI?: string; EMOJI?: string;
MESSAGE?: string; MESSAGE?: string;
}; }
type GuildChannelResolvable = Snowflake | GuildChannel; type GuildChannelResolvable = Snowflake | GuildChannel;
type GuildCreateChannelOptions = { interface GuildCreateChannelOptions {
permissionOverwrites?: OverwriteResolvable[] | Collection<Snowflake, OverwriteResolvable>; permissionOverwrites?: OverwriteResolvable[] | Collection<Snowflake, OverwriteResolvable>;
topic?: string; topic?: string;
type?: 'text' | 'voice' | 'category'; type?: 'text' | 'voice' | 'category';
@@ -1770,18 +1776,18 @@ declare module 'discord.js' {
rateLimitPerUser?: number; rateLimitPerUser?: number;
position?: number; position?: number;
reason?: string; reason?: string;
}; }
type GuildChannelCloneOptions = GuildCreateChannelOptions & { interface GuildChannelCloneOptions extends GuildCreateChannelOptions {
name?: string; name?: string;
}; }
type GuildEmojiCreateOptions = { interface GuildEmojiCreateOptions {
roles?: Collection<Snowflake, Role> | RoleResolvable[]; roles?: Collection<Snowflake, Role> | RoleResolvable[];
reason?: string; reason?: string;
}; }
type GuildEditData = { interface GuildEditData {
name?: string; name?: string;
region?: string; region?: string;
verificationLevel?: number; verificationLevel?: number;
@@ -1793,12 +1799,12 @@ declare module 'discord.js' {
icon?: Base64Resolvable; icon?: Base64Resolvable;
owner?: GuildMemberResolvable; owner?: GuildMemberResolvable;
splash?: Base64Resolvable; splash?: Base64Resolvable;
}; }
type GuildEmbedData = { interface GuildEmbedData {
enabled: boolean; enabled: boolean;
channel?: GuildChannelResolvable; channel?: GuildChannelResolvable;
}; }
type GuildFeatures = 'INVITE_SPLASH' type GuildFeatures = 'INVITE_SPLASH'
| 'MORE_EMOJI' | 'MORE_EMOJI'
@@ -1806,30 +1812,30 @@ declare module 'discord.js' {
| 'VIP_REGIONS' | 'VIP_REGIONS'
| 'VANITY_URL'; | 'VANITY_URL';
type GuildMemberEditData = { interface GuildMemberEditData {
nick?: string; nick?: string;
roles?: Collection<Snowflake, Role> | RoleResolvable[]; roles?: Collection<Snowflake, Role> | RoleResolvable[];
mute?: boolean; mute?: boolean;
deaf?: boolean; deaf?: boolean;
channel?: ChannelResolvable; channel?: ChannelResolvable;
}; }
type GuildMemberResolvable = GuildMember | UserResolvable; type GuildMemberResolvable = GuildMember | UserResolvable;
type GuildResolvable = Guild | Snowflake; type GuildResolvable = Guild | Snowflake;
type GuildPruneMembersOptions = { interface GuildPruneMembersOptions {
days?: number; days?: number;
dry?: boolean; dry?: boolean;
reason?: string; reason?: string;
}; }
type HTTPOptions = { interface HTTPOptions {
version?: number; version?: number;
host?: string; host?: string;
cdn?: string; cdn?: string;
invite?: string; invite?: string;
}; }
type ImageExt = 'webp' type ImageExt = 'webp'
| 'png' | 'png'
@@ -1845,45 +1851,45 @@ declare module 'discord.js' {
| 1024 | 1024
| 2048; | 2048;
type IntegrationData = { interface IntegrationData {
id: string; id: string;
type: string; type: string;
}; }
type IntegrationEditData = { interface IntegrationEditData {
expireBehavior?: number; expireBehavior?: number;
expireGracePeriod?: number; expireGracePeriod?: number;
}; }
type IntegrationAccount = { interface IntegrationAccount {
id: string; id: string;
name: string; name: string;
}; }
type InviteOptions = { interface InviteOptions {
temporary?: boolean; temporary?: boolean;
maxAge?: number; maxAge?: number;
maxUses?: number; maxUses?: number;
unique?: boolean; unique?: boolean;
reason?: string; reason?: string;
}; }
type InviteResolvable = string; type InviteResolvable = string;
type MessageCollectorOptions = CollectorOptions & { interface MessageCollectorOptions extends CollectorOptions {
max?: number; max?: number;
maxProcessed?: number; maxProcessed?: number;
}; }
type MessageAdditions = MessageEmbed | MessageAttachment | (MessageEmbed | MessageAttachment)[]; type MessageAdditions = MessageEmbed | MessageAttachment | (MessageEmbed | MessageAttachment)[];
type MessageEditOptions = { interface MessageEditOptions {
content?: string; content?: string;
embed?: MessageEmbedOptions | null; embed?: MessageEmbedOptions | null;
code?: string | boolean; code?: string | boolean;
}; }
type MessageEmbedOptions = { interface MessageEmbedOptions {
title?: string; title?: string;
description?: string; description?: string;
url?: string; url?: string;
@@ -1896,19 +1902,19 @@ declare module 'discord.js' {
image?: { url?: string; proxy_url?: string; proxyURL?: string; height?: number; width?: number; }; image?: { url?: string; proxy_url?: string; proxyURL?: string; height?: number; width?: number; };
video?: { url?: string; height?: number; width?: number; }; video?: { url?: string; height?: number; width?: number; };
footer?: { text?: string; icon_url?: string; iconURL?: string; }; footer?: { text?: string; icon_url?: string; iconURL?: string; };
}; }
type MessageOptions = { interface MessageOptions {
tts?: boolean; tts?: boolean;
nonce?: string; nonce?: string;
content?: string; content?: string;
embed?: MessageEmbed | MessageEmbedOptions, embed?: MessageEmbed | MessageEmbedOptions;
disableEveryone?: boolean; disableEveryone?: boolean;
files?: (FileOptions | BufferResolvable | Stream | MessageAttachment)[]; files?: (FileOptions | BufferResolvable | Stream | MessageAttachment)[];
code?: string | boolean; code?: string | boolean;
split?: boolean | SplitOptions; split?: boolean | SplitOptions;
reply?: UserResolvable; reply?: UserResolvable;
}; }
type MessageReactionResolvable = MessageReaction | Snowflake; type MessageReactionResolvable = MessageReaction | Snowflake;
@@ -1925,22 +1931,22 @@ declare module 'discord.js' {
| 'PINS_ADD' | 'PINS_ADD'
| 'GUILD_MEMBER_JOIN'; | 'GUILD_MEMBER_JOIN';
type OverwriteData = { interface OverwriteData {
allow?: PermissionResolvable; allow?: PermissionResolvable;
deny?: PermissionResolvable; deny?: PermissionResolvable;
id: GuildMemberResolvable | RoleResolvable; id: GuildMemberResolvable | RoleResolvable;
type?: OverwriteType; type?: OverwriteType;
}; }
type OverwriteResolvable = PermissionOverwrites | OverwriteData; type OverwriteResolvable = PermissionOverwrites | OverwriteData;
type OverwriteType = 'member' | 'role'; type OverwriteType = 'member' | 'role';
type PermissionFlags = Record<PermissionString, number>; interface PermissionFlags extends Record<PermissionString, number> { }
type PermissionObject = Record<PermissionString, boolean>; interface PermissionObject extends Record<PermissionString, boolean> { }
type PermissionOverwriteOption = { [k in PermissionString]?: boolean | null }; interface PermissionOverwriteOption extends Partial<Record<PermissionString, boolean | null>> { }
type PermissionString = 'CREATE_INSTANT_INVITE' type PermissionString = 'CREATE_INSTANT_INVITE'
| 'KICK_MEMBERS' | 'KICK_MEMBERS'
@@ -1976,13 +1982,13 @@ declare module 'discord.js' {
type PermissionResolvable = BitFieldResolvable<PermissionString>; type PermissionResolvable = BitFieldResolvable<PermissionString>;
type PermissionOverwriteOptions = { interface PermissionOverwriteOptions {
allow: PermissionResolvable; allow: PermissionResolvable;
deny: PermissionResolvable; deny: PermissionResolvable;
id: UserResolvable | RoleResolvable; id: UserResolvable | RoleResolvable;
}; }
type PresenceData = { interface PresenceData {
status?: PresenceStatusData; status?: PresenceStatusData;
afk?: boolean; afk?: boolean;
activity?: { activity?: {
@@ -1991,17 +1997,17 @@ declare module 'discord.js' {
url?: string; url?: string;
}; };
shardID?: number | number[]; shardID?: number | number[];
}; }
type PresenceResolvable = Presence | UserResolvable | Snowflake; type PresenceResolvable = Presence | UserResolvable | Snowflake;
type ClientPresenceStatus = 'online' | 'idle' | 'dnd'; type ClientPresenceStatus = 'online' | 'idle' | 'dnd';
type ClientPresenceStatusData = { interface ClientPresenceStatusData {
web?: ClientPresenceStatus, web?: ClientPresenceStatus;
mobile?: ClientPresenceStatus, mobile?: ClientPresenceStatus;
desktop?: ClientPresenceStatus desktop?: ClientPresenceStatus;
}; }
type PartialTypes = 'USER' type PartialTypes = 'USER'
| 'CHANNEL' | 'CHANNEL'
@@ -2012,41 +2018,41 @@ declare module 'discord.js' {
type PresenceStatusData = ClientPresenceStatus | 'invisible'; type PresenceStatusData = ClientPresenceStatus | 'invisible';
type RateLimitData = { interface RateLimitData {
timeout: number; timeout: number;
limit: number; limit: number;
timeDifference: number; timeDifference: number;
method: string; method: string;
path: string; path: string;
route: string; route: string;
}; }
type RawOverwriteData = { interface RawOverwriteData {
id: Snowflake; id: Snowflake;
allow: number; allow: number;
deny: number; deny: number;
type: OverwriteType; type: OverwriteType;
}; }
type ReactionCollectorOptions = CollectorOptions & { interface ReactionCollectorOptions extends CollectorOptions {
max?: number; max?: number;
maxEmojis?: number; maxEmojis?: number;
maxUsers?: number; maxUsers?: number;
}; }
type ResolvedOverwriteOptions = { interface ResolvedOverwriteOptions {
allow: Permissions; allow: Permissions;
deny: Permissions; deny: Permissions;
}; }
type RoleData = { interface RoleData {
name?: string; name?: string;
color?: ColorResolvable; color?: ColorResolvable;
hoist?: boolean; hoist?: boolean;
position?: number; position?: number;
permissions?: PermissionResolvable; permissions?: PermissionResolvable;
mentionable?: boolean; mentionable?: boolean;
}; }
type RoleResolvable = Role | string; type RoleResolvable = Role | string;
@@ -2054,25 +2060,25 @@ declare module 'discord.js' {
type Snowflake = string; type Snowflake = string;
type SplitOptions = { interface SplitOptions {
maxLength?: number; maxLength?: number;
char?: string; char?: string;
prepend?: string; prepend?: string;
append?: string; append?: string;
}; }
type Status = number; type Status = number;
type StreamOptions = { interface StreamOptions {
type?: StreamType; type?: StreamType;
seek?: number; seek?: number;
volume?: number; volume?: number;
passes?: number; passes?: number;
plp?: number; plp?: number;
fec?: boolean; fec?: boolean;
bitrate?: number | 'auto' bitrate?: number | 'auto';
highWaterMark?: number; highWaterMark?: number;
}; }
type SpeakingString = 'SPEAKING' | 'SOUNDSHARE'; type SpeakingString = 'SPEAKING' | 'SOUNDSHARE';
@@ -2084,14 +2090,14 @@ declare module 'discord.js' {
type VoiceStatus = number; type VoiceStatus = number;
type WebhookEditData = { interface WebhookEditData {
name?: string; name?: string;
avatar?: BufferResolvable; avatar?: BufferResolvable;
channel?: ChannelResolvable; channel?: ChannelResolvable;
reason?: string; reason?: string;
}; }
type WebhookMessageOptions = { interface WebhookMessageOptions {
username?: string; username?: string;
avatarURL?: string; avatarURL?: string;
tts?: boolean; tts?: boolean;
@@ -2101,12 +2107,12 @@ declare module 'discord.js' {
files?: (FileOptions | BufferResolvable | Stream | MessageAttachment)[]; files?: (FileOptions | BufferResolvable | Stream | MessageAttachment)[];
code?: string | boolean; code?: string | boolean;
split?: boolean | SplitOptions; split?: boolean | SplitOptions;
}; }
type WebSocketOptions = { interface WebSocketOptions {
large_threshold?: number; large_threshold?: number;
compress?: boolean; compress?: boolean;
}; }
type WSEventType = 'READY' type WSEventType = 'READY'
| 'RESUMED' | 'RESUMED'