chore(typings): declaring explicit nullable returns (#3134)

* strict nullable & WebSocketManager private typings

* missing semicolon

* kyra suggestion #1

Co-Authored-By: izexi <43889168+izexi@users.noreply.github.com>

* kyra suggestion #2&3

* space's requested changes

* space's requested change

* strict nullable & WebSocketManager private typings

missing semicolon

kyra suggestion #1

Co-Authored-By: izexi <43889168+izexi@users.noreply.github.com>

kyra suggestion #2&3

space's requested changes

space's requested change

* resolve conflicts

* deflate
This commit is contained in:
izexi
2019-04-15 20:01:39 +01:00
committed by SpaceEEC
parent 52bc5b0170
commit 0b1176d9a1

207
typings/index.d.ts vendored
View File

@@ -10,21 +10,21 @@ declare module 'discord.js' {
export class Activity {
constructor(presence: Presence, data?: object);
public applicationID: Snowflake;
public assets: RichPresenceAssets;
public details: string;
public applicationID: Snowflake | null;
public assets: RichPresenceAssets | null;
public details: string | null;
public name: string;
public party: {
id: string;
id: string | null;
size: [number, number];
};
public state: string;
} | null;
public state: string | null;
public timestamps: {
start: Date;
end: Date;
};
start: Date | null;
end: Date | null;
} | null;
public type: ActivityType;
public url: string;
public url: string | null;
public equals(activity: Activity): boolean;
}
@@ -35,10 +35,10 @@ declare module 'discord.js' {
export class APIMessage {
constructor(target: MessageTarget, options: MessageOptions | WebhookMessageOptions);
public data?: object;
public data: object | null;
public readonly isUser: boolean;
public readonly isWebhook: boolean;
public files?: object[];
public files: object[] | null;
public options: MessageOptions | WebhookMessageOptions;
public target: MessageTarget;
@@ -138,10 +138,10 @@ declare module 'discord.js' {
public readonly emojis: GuildEmojiStore;
public guilds: GuildStore;
public readyAt: Date | null;
public readonly readyTimestamp: number;
public shard: ShardClientUtil;
public token: string;
public readonly uptime: number;
public readonly readyTimestamp: number | null;
public shard: ShardClientUtil | null;
public token: string | null;
public readonly uptime: number | null;
public user: ClientUser | null;
public users: UserStore;
public voice: ClientVoiceManager | null;
@@ -169,16 +169,16 @@ declare module 'discord.js' {
public on(event: 'guildMemberAdd' | 'guildMemberAvailable' | 'guildMemberRemove', listener: (member: GuildMember) => void): this;
public on(event: 'guildMembersChunk', listener: (members: Collection<Snowflake, GuildMember>, guild: Guild) => void): this;
public on(event: 'guildMemberSpeaking', listener: (member: GuildMember, speaking: Readonly<Speaking>) => void): this;
public on(event: 'guildMemberUpdate', listener: (oldMember: GuildMember, newMember: GuildMember) => void): this;
public on(event: 'guildMemberUpdate' | 'presenceUpdate', listener: (oldMember: GuildMember, newMember: GuildMember) => void): this;
public on(event: 'guildUpdate', listener: (oldGuild: Guild, newGuild: Guild) => void): this;
public on(event: 'guildIntegrationsUpdate', listener: (guild: Guild) => void): this;
public on(event: 'message' | 'messageDelete' | 'messageReactionRemoveAll', listener: (message: Message) => void): this;
public on(event: 'messageDeleteBulk', listener: (messages: Collection<Snowflake, Message>) => void): this;
public on(event: 'messageReactionAdd' | 'messageReactionRemove', listener: (messageReaction: MessageReaction, user: User) => void): this;
public on(event: 'messageUpdate', listener: (oldMessage: Message, newMessage: Message) => void): this;
public on(event: 'presenceUpdate', listener: (oldPresence: Presence | undefined, newPresence: Presence) => void): this;
public on(event: 'rateLimit', listener: (rateLimitData: RateLimitData) => void): this;
public on(event: 'ready', listener: () => void): this;
public on(event: 'resume', listener: (replayed: number, shardID: number) => void): this;
public on(event: 'roleCreate' | 'roleDelete', listener: (role: Role) => void): this;
public on(event: 'roleUpdate', listener: (oldRole: Role, newRole: Role) => void): this;
public on(event: 'typingStart' | 'typingStop', listener: (channel: Channel, user: User) => void): this;
@@ -206,16 +206,16 @@ declare module 'discord.js' {
public once(event: 'guildMemberAdd' | 'guildMemberAvailable' | 'guildMemberRemove', listener: (member: GuildMember) => void): this;
public once(event: 'guildMembersChunk', listener: (members: Collection<Snowflake, GuildMember>, guild: Guild) => void): this;
public once(event: 'guildMemberSpeaking', listener: (member: GuildMember, speaking: Readonly<Speaking>) => void): this;
public once(event: 'guildMemberUpdate', listener: (oldMember: GuildMember, newMember: GuildMember) => void): this;
public once(event: 'guildMemberUpdate' | 'presenceUpdate', listener: (oldMember: GuildMember, newMember: GuildMember) => void): this;
public once(event: 'guildUpdate', listener: (oldGuild: Guild, newGuild: Guild) => void): this;
public once(event: 'guildIntegrationsUpdate', listener: (guild: Guild) => void): this;
public once(event: 'message' | 'messageDelete' | 'messageReactionRemoveAll', listener: (message: Message) => void): this;
public once(event: 'messageDeleteBulk', listener: (messages: Collection<Snowflake, Message>) => void): this;
public once(event: 'messageReactionAdd' | 'messageReactionRemove', listener: (messageReaction: MessageReaction, user: User) => void): this;
public once(event: 'messageUpdate', listener: (oldMessage: Message, newMessage: Message) => void): this;
public once(event: 'presenceUpdate', listener: (oldPresence: Presence | undefined, newPresence: Presence) => void): this;
public once(event: 'rateLimit', listener: (rateLimitData: RateLimitData) => void): this;
public once(event: 'ready', listener: () => void): this;
public once(event: 'resume', listener: (replayed: number, shardID: number) => void): this;
public once(event: 'roleCreate' | 'roleDelete', listener: (role: Role) => void): this;
public once(event: 'roleUpdate', listener: (oldRole: Role, newRole: Role) => void): this;
public once(event: 'typingStart' | 'typingStop', listener: (channel: Channel, user: User) => void): this;
@@ -237,21 +237,23 @@ declare module 'discord.js' {
public connections: Collection<Snowflake, VoiceConnection>;
public broadcasts: VoiceBroadcast[];
private joinChannel(channel: VoiceChannel): Promise<VoiceConnection>;
public createBroadcast(): VoiceBroadcast;
}
export class ClientApplication extends Base {
constructor(client: Client, data: object);
public botPublic?: boolean;
public botRequireCodeGrant?: boolean;
public cover?: string;
public botPublic: boolean | null;
public botRequireCodeGrant: boolean | null;
public cover: string | null;
public readonly createdAt: Date;
public readonly createdTimestamp: number;
public description: string;
public icon: string;
public id: Snowflake;
public name: string;
public owner?: User;
public owner: User | null;
public rpcOrigins: string[];
public coverImage(options?: AvatarOptions): string;
public fetchAssets(): Promise<ClientApplicationAsset>;
@@ -290,8 +292,8 @@ declare module 'discord.js' {
public equals(collection: Collection<any, any>): boolean;
public every(fn: (value: V, key: K, collection: Collection<K, V>) => boolean, thisArg?: any): boolean;
public filter(fn: (value: V, key: K, collection: Collection<K, V>) => boolean, thisArg?: any): Collection<K, V>;
public find(fn: (value: V, key: K, collection: Collection<K, V>) => boolean): V;
public findKey(fn: (value: V, key: K, collection: Collection<K, V>) => boolean): K;
public find(fn: (value: V, key: K, collection: Collection<K, V>) => boolean, thisArg?: any): V;
public findKey(fn: (value: V, key: K, collection: Collection<K, V>) => boolean, thisArg?: any): K;
public first(): V | undefined;
public first(count: number): V[];
public firstKey(): K | undefined;
@@ -317,7 +319,7 @@ declare module 'discord.js' {
export abstract class Collector<K, V> extends EventEmitter {
constructor(client: Client, filter: CollectorFilter, options?: CollectorOptions);
private _timeout: NodeJS.Timer;
private _timeout: NodeJS.Timer | null;
public readonly client: Client;
public collected: Collection<K, V>;
@@ -391,7 +393,7 @@ declare module 'discord.js' {
protected setup(data: any): void;
public readonly afkChannel: VoiceChannel;
public readonly afkChannel: VoiceChannel | null;
public afkChannelID: Snowflake;
public afkTimeout: number;
public applicationID: Snowflake;
@@ -399,6 +401,7 @@ declare module 'discord.js' {
public channels: GuildChannelStore;
public readonly createdAt: Date;
public readonly createdTimestamp: number;
public readonly defaultRole: Role | null;
public defaultMessageNotifications: DefaultMessageNotifications | number;
public readonly defaultRole: Role;
public deleted: boolean;
@@ -411,13 +414,13 @@ declare module 'discord.js' {
public readonly joinedAt: Date;
public joinedTimestamp: number;
public large: boolean;
public readonly me: GuildMember;
public readonly me: GuildMember | null;
public memberCount: number;
public members: GuildMemberStore;
public mfaLevel: number;
public name: string;
public readonly nameAcronym: string;
public readonly owner: GuildMember;
public readonly owner: GuildMember | null;
public ownerID: Snowflake;
public presences: PresenceStore;
public region: string;
@@ -425,11 +428,11 @@ declare module 'discord.js' {
public readonly shard: WebSocketShard;
public shardID: number;
public splash: string;
public readonly systemChannel: TextChannel;
public readonly systemChannel: TextChannel | null;
public systemChannelID: Snowflake;
public verificationLevel: number;
public readonly verified: boolean;
public readonly voiceConnection: VoiceConnection;
public readonly voiceConnection: VoiceConnection | null;
public addMember(user: UserResolvable, options: AddGuildMemberOptions): Promise<GuildMember>;
public createIntegration(data: IntegrationData, reason?: string): Promise<Guild>;
public delete(): Promise<Guild>;
@@ -483,13 +486,13 @@ declare module 'discord.js' {
constructor(logs: GuildAuditLogs, guild: Guild, data: object);
public action: GuildAuditLogsAction;
public actionType: GuildAuditLogsActionType;
public changes: AuditLogChange[];
public changes: AuditLogChange[] | null;
public readonly createdAt: Date;
public readonly createdTimestamp: number;
public executor: User;
public extra: object | Role | GuildMember;
public extra: object | Role | GuildMember | null;
public id: Snowflake;
public reason: string;
public reason: string | null;
public target: Guild | User | Role | GuildEmoji | Invite | Webhook;
public targetType: GuildAuditLogsTarget;
public toJSON(): object;
@@ -505,10 +508,10 @@ declare module 'discord.js' {
public guild: Guild;
public readonly manageable: boolean;
public name: string;
public readonly parent: CategoryChannel;
public readonly parent: CategoryChannel | null;
public parentID: Snowflake;
public permissionOverwrites: Collection<Snowflake, PermissionOverwrites>;
public readonly permissionsLocked: boolean;
public readonly permissionsLocked: boolean | null;
public readonly position: number;
public rawPosition: number;
public readonly viewable: boolean;
@@ -553,8 +556,8 @@ declare module 'discord.js' {
public readonly displayName: string;
public guild: Guild;
public readonly id: Snowflake;
public readonly joinedAt: Date;
public joinedTimestamp: number;
public readonly joinedAt: Date | null;
public joinedTimestamp: number | null;
public readonly kickable: boolean;
public readonly manageable: boolean;
public nickname: string;
@@ -612,18 +615,18 @@ declare module 'discord.js' {
public channel: GuildChannel;
public code: string;
public readonly createdAt: Date;
public createdTimestamp: number;
public readonly expiresAt: Date;
public readonly expiresTimestamp: number;
public guild: Guild;
public inviter: User;
public maxAge: number;
public maxUses: number;
public createdTimestamp: number | null;
public readonly expiresAt: Date | null;
public readonly expiresTimestamp: number | null;
public guild: Guild | null;
public inviter: User | null;
public maxAge: number | null;
public maxUses: number | null;
public memberCount: number;
public presenceCount: number;
public temporary: boolean;
public temporary: boolean | null;
public readonly url: string;
public uses: number;
public uses: number | null;
public delete(reason?: string): Promise<Invite>;
public toJSON(): object;
public toString(): string;
@@ -634,10 +637,10 @@ declare module 'discord.js' {
private _edits: Message[];
private patch(data: object): void;
public activity: GroupActivity;
public application: ClientApplication;
public activity: GroupActivity | null;
public application: ClientApplication | null;
public attachments: Collection<Snowflake, MessageAttachment>;
public author: User;
public author: User | null;
public channel: TextChannel | DMChannel;
public readonly cleanContent: string;
public content: string;
@@ -646,13 +649,13 @@ declare module 'discord.js' {
public readonly deletable: boolean;
public deleted: boolean;
public readonly editable: boolean;
public readonly editedAt: Date;
public editedTimestamp: number;
public readonly editedAt: Date | null;
public editedTimestamp: number | null;
public readonly edits: Message[];
public embeds: MessageEmbed[];
public readonly guild: Guild;
public readonly guild: Guild | null;
public id: Snowflake;
public readonly member: GuildMember;
public readonly member: GuildMember | null;
public mentions: MessageMentions;
public nonce: string;
public readonly partial: boolean;
@@ -663,7 +666,7 @@ declare module 'discord.js' {
public tts: boolean;
public type: MessageType;
public readonly url: string;
public webhookID: Snowflake;
public webhookID: Snowflake | null;
public awaitReactions(filter: CollectorFilter, options?: AwaitReactionsOptions): Promise<Collection<Snowflake, MessageReaction>>;
public createReactionCollector(filter: CollectorFilter, options?: ReactionCollectorOptions): ReactionCollector;
public delete(options?: { timeout?: number, reason?: string }): Promise<Message>;
@@ -685,13 +688,13 @@ declare module 'discord.js' {
constructor(attachment: BufferResolvable | Stream, name?: string, data?: object);
public attachment: BufferResolvable | Stream;
public height: number;
public height: number | null;
public id: Snowflake;
public name?: string;
public proxyURL: string;
public size: number;
public url: string;
public width: number;
public width: number | null;
public setFile(attachment: BufferResolvable | Stream, name?: string): this;
public setName(name: string): this;
public toJSON(): object;
@@ -712,23 +715,23 @@ declare module 'discord.js' {
constructor(data?: MessageEmbed | MessageEmbedOptions);
private _apiTransform(): MessageEmbedOptions;
public author: { name?: string; url?: string; iconURL?: string; proxyIconURL?: string };
public author: { name?: string; url?: string; iconURL?: string; proxyIconURL?: string } | null;
public color: number;
public readonly createdAt: Date;
public readonly createdAt: Date | null;
public description: string;
public fields: EmbedField[];
public files: (MessageAttachment | string | FileOptions)[];
public footer: { text?: string; iconURL?: string; proxyIconURL?: string };
public readonly hexColor: string;
public image: { url: string; proxyURL?: string; height?: number; width?: number; };
public footer: { text?: string; iconURL?: string; proxyIconURL?: string } | null;
public readonly hexColor: string | null;
public image: { url: string; proxyURL?: string; height?: number; width?: number; } | null;
public readonly length: number;
public provider: { name: string; url: string; };
public thumbnail: { url: string; proxyURL?: string; height?: number; width?: number; };
public timestamp: number;
public thumbnail: { url: string; proxyURL?: string; height?: number; width?: number; } | null;
public timestamp: number | null;
public title: string;
public type: string;
public url: string;
public readonly video: { url?: string; proxyURL?: string; height?: number; width?: number };
public readonly video: { url?: string; proxyURL?: string; height?: number; width?: number } | null;
public addBlankField(inline?: boolean): this;
public addField(name: StringResolvable, value: StringResolvable, inline?: boolean): this;
public attachFiles(file: (MessageAttachment | FileOptions | string)[]): this;
@@ -749,9 +752,9 @@ declare module 'discord.js' {
export class MessageMentions {
constructor(message: Message, users: object[] | Collection<Snowflake, User>, roles: Snowflake[] | Collection<Snowflake, Role>, everyone: boolean);
private _channels: Collection<Snowflake, GuildChannel>;
private _channels: Collection<Snowflake, GuildChannel> | null;
private readonly _content: Message;
private _members: Collection<Snowflake, GuildMember>;
private _members: Collection<Snowflake, GuildMember> | null;
public readonly channels: Collection<Snowflake, TextChannel>;
public readonly client: Client;
@@ -762,7 +765,7 @@ declare module 'discord.js' {
ignoreRoles?: boolean;
ignoreEveryone?: boolean;
}): boolean;
public readonly members: Collection<Snowflake, GuildMember>;
public readonly members: Collection<Snowflake, GuildMember> | null;
public roles: Collection<Snowflake, Role>;
public users: Collection<Snowflake, User>;
public toJSON(): object;
@@ -809,13 +812,13 @@ declare module 'discord.js' {
}
export class Presence {
constructor(client: Client, data: object);
public activity: Activity;
constructor(client: Client, data?: object);
public activity: Activity | null;
public flags: Readonly<ActivityFlags>;
public status: PresenceStatus;
public clientStatus: ClientPresenceStatusData | null;
public readonly user: User;
public readonly member?: GuildMember;
public readonly user: User | null;
public readonly member: GuildMember | null;
public equals(presence: Presence): boolean;
}
@@ -831,7 +834,7 @@ declare module 'discord.js' {
public collect(reaction: MessageReaction): Snowflake | string;
public dispose(reaction: MessageReaction, user: User): Snowflake | string;
public empty(): void;
public endReason(): string;
public endReason(): string | null;
public on(event: 'collect', listener: (reaction: MessageReaction, user: User) => void): this;
public on(event: 'dispose', listener: (reaction: MessageReaction, user: User) => void): this;
@@ -854,12 +857,12 @@ declare module 'discord.js' {
export class RichPresenceAssets {
constructor(activity: Activity, assets: object);
public largeImage: Snowflake;
public largeText: string;
public smallImage: Snowflake;
public smallText: string;
public largeImageURL(options: AvatarOptions): string;
public smallImageURL(options: AvatarOptions): string;
public largeImage: Snowflake | null;
public largeText: string | null;
public smallImage: Snowflake | null;
public smallText: string | null;
public largeImageURL(options: AvatarOptions): string | null;
public smallImageURL(options: AvatarOptions): string | null;
}
export class Role extends Base {
@@ -910,9 +913,9 @@ declare module 'discord.js' {
public env: object;
public id: number;
public manager: ShardingManager;
public process: ChildProcess;
public process: ChildProcess | null;
public ready: boolean;
public worker: any;
public worker: any | null;
public eval(script: string): Promise<any>;
public eval<T>(fn: (client: Client) => T): Promise<T[]>;
public fetchClientValue(prop: string): Promise<any>;
@@ -945,7 +948,7 @@ declare module 'discord.js' {
public readonly count: number;
public readonly ids: number[];
public mode: ShardingManagerMode;
public parentPort: any;
public parentPort: any | null;
public broadcastEval(script: string): Promise<any[]>;
public broadcastEval<T>(fn: (client: Client) => T): Promise<T[]>;
public fetchClientValues(prop: string): Promise<any[]>;
@@ -969,7 +972,7 @@ declare module 'discord.js' {
public respawn: boolean;
public shardArgs: string[];
public shards: Collection<number, Shard>;
public token: string;
public token: string | null;
public totalShards: number | 'auto';
public broadcast(message: any): Promise<Shard[]>;
public broadcastEval(script: string): Promise<any[]>;
@@ -994,9 +997,9 @@ declare module 'discord.js' {
constructor(player: object, options?: StreamOptions, streams?: object);
public player: object;
public pausedSince: number;
public broadcast: VoiceBroadcast;
public broadcast: VoiceBroadcast | null;
public readonly paused: boolean;
public readonly pausedTime: boolean;
public readonly pausedTime: boolean | null;
public readonly streamTime: number;
public readonly totalStreamTime: number;
public readonly bitrateEditable: boolean;
@@ -1061,7 +1064,7 @@ declare module 'discord.js' {
export class User extends PartialTextBasedChannel(Base) {
constructor(client: Client, data: object);
public avatar: string;
public avatar: string | null;
public bot: boolean;
public readonly createdAt: Date;
public readonly createdTimestamp: number;
@@ -1074,7 +1077,7 @@ declare module 'discord.js' {
public readonly presence: Presence;
public readonly tag: string;
public username: string;
public avatarURL(options?: AvatarOptions): string;
public avatarURL(options?: AvatarOptions): string | null;
public createDM(): Promise<DMChannel>;
public deleteDM(): Promise<DMChannel>;
public displayAvatarURL(options?: AvatarOptions): string;
@@ -1102,7 +1105,7 @@ declare module 'discord.js' {
public static makePlainError(err: Error): { name: string, message: string, stack: string };
public static mergeDefault(def: object, given: object): object;
public static moveElementInArray(array: any[], element: any, newIndex: number, offset?: boolean): number;
public static parseEmoji(text: string): { animated: boolean; name: string; id: string; };
public static parseEmoji(text: string): { animated: boolean; name: string; id: string | null; } | null;
public static resolveColor(color: ColorResolvable): number;
public static resolveString(data: StringResolvable): string;
public static setPosition<T extends (Channel | Role)>(
@@ -1238,19 +1241,19 @@ declare module 'discord.js' {
export class VoiceState extends Base {
constructor(guild: Guild, data: object);
public readonly channel?: VoiceChannel;
public readonly channel: VoiceChannel | null;
public channelID?: Snowflake;
public readonly deaf?: boolean;
public guild: Guild;
public id: Snowflake;
public readonly member: GuildMember;
public readonly member: GuildMember | null;
public readonly mute?: boolean;
public selfDeaf?: boolean;
public selfMute?: boolean;
public serverDeaf?: boolean;
public serverMute?: boolean;
public sessionID?: string;
public readonly speaking?: boolean;
public readonly speaking: boolean | null;
public setDeaf(mute: boolean, reason?: string): Promise<GuildMember>;
public setMute(mute: boolean, reason?: string): Promise<GuildMember>;
@@ -1277,7 +1280,7 @@ declare module 'discord.js' {
public channelID: Snowflake;
public guildID: Snowflake;
public name: string;
public owner: User | object;
public owner: User | object | null;
public readonly url: string;
}
@@ -1394,7 +1397,7 @@ declare module 'discord.js' {
export class GuildEmojiStore extends DataStore<Snowflake, GuildEmoji, typeof GuildEmoji, EmojiResolvable> {
constructor(guild: Guild, iterable?: Iterable<any>);
public create(attachment: BufferResolvable | Base64Resolvable, name: string, options?: GuildEmojiCreateOptions): Promise<GuildEmoji>;
public resolveIdentifier(emoji: EmojiIdentifierResolvable): string;
public resolveIdentifier(emoji: EmojiIdentifierResolvable): string | null;
}
export class GuildChannelStore extends DataStore<Snowflake, GuildChannel, typeof GuildChannel, GuildChannelResolvable> {
@@ -1410,8 +1413,8 @@ declare module 'discord.js' {
export class GuildMemberRoleStore extends OverridableDataStore<Snowflake, Role, typeof Role, RoleResolvable> {
constructor(member: GuildMember);
public readonly hoist: Role;
public readonly color: Role;
public readonly hoist: Role | null;
public readonly color: Role | null;
public readonly highest: Role;
public add(roleOrRoles: RoleResolvable | RoleResolvable[] | Collection<Snowflake, Role>, reason?: string): Promise<GuildMember>;
@@ -1431,7 +1434,7 @@ declare module 'discord.js' {
export class GuildStore extends DataStore<Snowflake, Guild, typeof Guild, GuildResolvable> {
constructor(client: Client, iterable?: Iterable<any>);
public create(name: string, options?: { region?: string, icon?: BufferResolvable | Base64Resolvable }): Promise<Guild>;
public create(name: string, options?: { region?: string, icon: BufferResolvable | Base64Resolvable | null }): Promise<Guild>;
}
export class MessageStore extends DataStore<Snowflake, Message, typeof Message, MessageResolvable> {
@@ -1483,10 +1486,10 @@ declare module 'discord.js' {
const TextBasedChannel: <T>(Base?: Constructable<T>) => Constructable<T & TextBasedChannelFields>;
interface PartialTextBasedChannelFields {
lastMessageID: Snowflake;
lastMessageChannelID: Snowflake;
readonly lastMessage: Message;
lastPinTimestamp: number;
lastMessageID: Snowflake | null;
lastMessageChannelID: Snowflake | null;
readonly lastMessage: Message | null;
lastPinTimestamp: number | null;
readonly lastPinAt: Date;
send(content?: StringResolvable, options?: MessageOptions | MessageAdditions): Promise<Message | Message[]>;
send(options?: MessageOptions | MessageAdditions | APIMessage): Promise<Message | Message[]>;
@@ -1874,7 +1877,7 @@ declare module 'discord.js' {
interface GuildEmbedData {
enabled: boolean;
channel?: GuildChannelResolvable;
channel: GuildChannelResolvable | null;
}
type GuildFeatures = 'INVITE_SPLASH'