Guest User

discord.js

a guest
Jul 16th, 2017
1,121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Type definitions for discord.js 11.0.0
  2. // Project: https://github.com/hydrabolt/discord.js
  3. // Definitions by:
  4. //   acdenisSK <acdenissk69@gmail.com> (https://github.com/acdenisSK)
  5. //   Zack Campbell <zajrik@gmail.com> (https://github.com/zajrik)
  6. // License: MIT
  7.  
  8. declare module 'discord.js' {
  9.     import { EventEmitter } from 'events';
  10.     import { Readable as ReadableStream } from 'stream';
  11.     import { ChildProcess } from 'child_process';
  12.  
  13.     export const version: string;
  14.     export class Client extends EventEmitter {
  15.         constructor(options?: ClientOptions);
  16.         browser: boolean;
  17.         channels: Collection<string, Channel>;
  18.         emojis: Collection<string, Emoji>;
  19.         guilds: Collection<string, Guild>;
  20.         options: ClientOptions;
  21.         ping: number;
  22.         pings: number[];
  23.         presences: Collection<string, Presence>;
  24.         readyAt: Date;
  25.         readyTimestamp: number;
  26.         shard: ShardClientUtil;
  27.         status: number;
  28.         token: string;
  29.         uptime: number;
  30.         user: ClientUser;
  31.         users: Collection<string, User>;
  32.         voiceConnections: Collection<string, VoiceConnection>;
  33.         clearInterval(timeout: NodeJS.Timer): void;
  34.         clearTimeout(timeout: NodeJS.Timer): void;
  35.         destroy(): Promise<void>;
  36.         fetchApplication(): Promise<ClientOAuth2Application>;
  37.         fetchInvite(code: string): Promise<Invite>;
  38.         fetchUser(id: string): Promise<User>;
  39.         fetchWebhook(id: string, token?: string): Promise<Webhook>;
  40.         generateInvite(permissions: PermissionResolvable[] | number): Promise<string>;
  41.         login(token: string): Promise<string>;
  42.         setInterval(fn: Function, delay: number, ...args: any[]): NodeJS.Timer;
  43.         setTimeout(fn: Function, delay: number, ...args: any[]): NodeJS.Timer;
  44.         sweepMessages(lifetime?: number): number;
  45.         syncGuilds(guilds?: Guild[] | Collection<string, Guild>): void;
  46.         on(event: string, listener: Function): this;
  47.         on(event: 'channelCreate', listener: (channel: Channel) => void): this;
  48.         on(event: 'channelDelete', listener: (channel: Channel) => void): this;
  49.         on(event: 'channelPinsUpdate', listener: (channel: Channel, time: Date) => void): this;
  50.         on(event: 'channelUpdate', listener: (oldChannel: Channel, newChannel: Channel) => void): this;
  51.         on(event: 'debug', listener: (info: string) => void): this;
  52.         on(event: 'disconnect', listener: () => void): this;
  53.         on(event: 'emojiCreate', listener: (emoji: Emoji) => void): this;
  54.         on(event: 'emojiCreate', listener: (emoji: Emoji) => void): this;
  55.         on(event: 'emojiUpdate', listener: (oldEmoji: Emoji, newEmoji: Emoji) => void): this;
  56.         on(event: 'error', listener: (error: Error) => void): this;
  57.         on(event: 'guildBanAdd', listener: (guild: Guild, user: User) => void): this;
  58.         on(event: 'guildBanRemove', listener: (guild: Guild, user: User) => void): this;
  59.         on(event: 'guildCreate', listener: (guild: Guild) => void): this;
  60.         on(event: 'guildDelete', listener: (guild: Guild) => void): this;
  61.         on(event: 'guildMemberAdd', listener: (member: GuildMember) => void): this;
  62.         on(event: 'guildMemberAvailable', listener: (member: GuildMember) => void): this;
  63.         on(event: 'guildMemberRemove', listener: (member: GuildMember) => void): this;
  64.         on(event: 'guildMembersChunk', listener: (members: GuildMember[]) => void): this;
  65.         on(event: 'guildMemberSpeaking', listener: (member: GuildMember, speaking: boolean) => void): this;
  66.         on(event: 'guildMemberUpdate', listener: (oldMember: GuildMember, newMember: GuildMember) => void): this;
  67.         on(event: 'guildUnavailable', listener: (guild: Guild) => void): this;
  68.         on(event: 'guildUpdate', listener: (oldGuild: Guild, newGuild: Guild) => void): this;
  69.         on(event: 'message', listener: (message: Message) => void): this;
  70.         on(event: 'messageDelete', listener: (message: Message) => void): this;
  71.         on(event: 'messageDeleteBulk', listener: (messages: Collection<string, Message>) => void): this;
  72.         on(event: 'messageReactionAdd', listener: (messageReaction: MessageReaction, user: User) => void): this;
  73.         on(event: 'messageReactionRemove', listener: (messageReaction: MessageReaction, user: User) => void): this;
  74.         on(event: 'messageReactionRemoveAll', listener: (message: Message) => void): this;
  75.         on(event: 'messageUpdate', listener: (oldMessage: Message, newMessage: Message) => void): this;
  76.         on(event: 'presenceUpdate', listener: (oldMember: GuildMember, newMember: GuildMember) => void): this;
  77.         on(event: 'ready', listener: () => void): this;
  78.         on(event: 'reconnecting', listener: () => void): this;
  79.         on(event: 'roleCreate', listener: (role: Role) => void): this;
  80.         on(event: 'roleDelete', listener: (role: Role) => void): this;
  81.         on(event: 'roleUpdate', listener: (oldRole: Role, newRole: Role) => void): this;
  82.         on(event: 'typingStart', listener: (channel: Channel, user: User) => void): this;
  83.         on(event: 'typingStop', listener: (channel: Channel, user: User) => void): this;
  84.         on(event: 'userNoteUpdate', listener: (user: UserResolvable, oldNote: string, newNote: string) => void): this;
  85.         on(event: 'userUpdate', listener: (oldUser: User, newUser: User) => void): this;
  86.         on(event: 'voiceStateUpdate', listener: (oldMember: GuildMember, newMember: GuildMember) => void): this;
  87.         on(event: 'warn', listener: (info: string) => void): this;
  88.     }
  89.     export class Webhook {
  90.         avatar: string;
  91.         channelID: string;
  92.         client: Client;
  93.         guildID: string;
  94.         id: string;
  95.         name: string;
  96.         token: string;
  97.         delete(): Promise<void>;
  98.         edit(name: string, avatar: BufferResolvable): Promise<Webhook>;
  99.         sendCode(lang: string, content: StringResolvable, options?: WebhookMessageOptions): Promise<Message | Message[]>;
  100.         sendFile(attachment: BufferResolvable, fileName?: string, content?: StringResolvable, options?: WebhookMessageOptions): Promise<Message>;
  101.         sendMessage(content: StringResolvable, options?: WebhookMessageOptions): Promise<Message | Message[]>;
  102.         sendSlackMessage(body: Object): Promise<void>;
  103.         sendTTSMessage(content: StringResolvable, options?: WebhookMessageOptions): Promise<Message | Message[]>;
  104.     }
  105.     class SecretKey {
  106.         key: Uint8Array;
  107.     }
  108.     class RequestHandler {
  109.         constructor(restManager: {});
  110.         globalLimit: boolean;
  111.         queue: {}[];
  112.         restManager: {};
  113.         handle();
  114.         push(request: {});
  115.     }
  116.     export class WebhookClient extends Webhook {
  117.         constructor(id: string, token: string, options?: ClientOptions);
  118.         options: ClientOptions;
  119.     }
  120.     export class Emoji {
  121.         client: Client;
  122.         createdAt: Date;
  123.         createdTimestamp: number;
  124.         guild: Guild;
  125.         id: string;
  126.         identifier: string;
  127.         managed: boolean;
  128.         name: string;
  129.         requiresColons: boolean;
  130.         roles: Collection<string, Role>;
  131.         url: string;
  132.         equals(other: Emoji | Object): boolean;
  133.         toString(): string;
  134.     }
  135.     export class ReactionEmoji {
  136.         id: string;
  137.         identifier: string;
  138.         name: string;
  139.         reaction: MessageReaction;
  140.         toString(): string;
  141.     }
  142.     export class ClientUser extends User {
  143.         blocked: Collection<string, User>;
  144.         email: string;
  145.         friends: Collection<string, User>;
  146.         notes: Collection<string, string>;
  147.         verified: boolean;
  148.         addFriend(user?: UserResolvable): Promise<User>;
  149.         createGuild(name: string, region: string, icon?: BufferResolvable | Base64Resolvable): Promise<Guild>;
  150.         fetchMentions(options?: { limit?: number; roles?: boolean, everyone?: boolean; guild?: Guild | string }): Promise<Message[]>;
  151.         removeFriend(user?: UserResolvable): Promise<User>;
  152.         setAFK(afk: boolean): Promise<ClientUser>;
  153.         setAvatar(avatar: BufferResolvable | Base64Resolvable): Promise<ClientUser>;
  154.         setEmail(email: string, password: string): Promise<ClientUser>;
  155.         setGame(game: string, streamingURL?: string): Promise<ClientUser>;
  156.         setNote(note: string): Promise<User>;
  157.         setPassword(newPassword: string, oldPassword: string): Promise<ClientUser>;
  158.         setPresence(data: PresenceData): Promise<ClientUser>;
  159.         setStatus(status: PresenceStatus): Promise<ClientUser>;
  160.         setUsername(username: string, password?: string): Promise<ClientUser>;
  161.     }
  162.     export class Presence {
  163.         game: Game;
  164.         status: string;
  165.         equals(other: Presence): boolean;
  166.     }
  167.     export class Channel {
  168.         client: Client;
  169.         createdAt: Date;
  170.         createdTimestamp: number;
  171.         id: string;
  172.         type: 'dm' | 'group' | 'text' | 'voice';
  173.         delete(): Promise<Channel>;
  174.     }
  175.     export class DMChannel extends Channel {
  176.         lastMessageID: string;
  177.         messages: Collection<string, Message>;
  178.         recipient: User;
  179.         typing: boolean;
  180.         typingCount: number;
  181.         awaitMessages(filter: CollectorFilterFunction, options?: AwaitMessagesOptions): Promise<Collection<string, Message>>;
  182.         bulkDelete(messages: Collection<string, Message> | Message[] | number): Promise<Collection<string, Message>>;
  183.         createCollector(filter: CollectorFilterFunction, options?: CollectorOptions): MessageCollector;
  184.         fetchMessage(messageID: string): Promise<Message>;
  185.         fetchMessages(options?: ChannelLogsQueryOptions): Promise<Collection<string, Message>>;
  186.         fetchPinnedMessages(): Promise<Collection<string, Message>>;
  187.         send(content?: StringResolvable, options?: MessageOptions): string;
  188.         sendCode(lang: string, content: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  189.         sendEmbed(embed: RichEmbed, content?: string, options?: MessageOptions): Promise<Message>;
  190.         sendEmbed(embed: RichEmbed, options?: MessageOptions): Promise<Message>;
  191.         sendFile(attachment: BufferResolvable, fileName?: string, content?: StringResolvable, options?: MessageOptions): Promise<Message>;
  192.         sendMessage(content: string, options?: MessageOptions): Promise<Message | Message[]>;
  193.         startTyping(count?: number): void;
  194.         stopTyping(force?: boolean): void;
  195.         toString(): string;
  196.     }
  197.     export class GroupDMChannel extends Channel {
  198.         icon: string;
  199.         lastMessageID: string;
  200.         messages: Collection<string, Message>;
  201.         name: string;
  202.         owner: User;
  203.         ownerID: string;
  204.         recipients: Collection<string, User>;
  205.         typing: boolean;
  206.         typingCount: number;
  207.         awaitMessages(filter: CollectorFilterFunction, options?: AwaitMessagesOptions): Promise<Collection<string, Message>>;
  208.         bulkDelete(messages: Collection<string, Message> | Message[] | number): Promise<Collection<string, Message>>;
  209.         createCollector(filter: CollectorFilterFunction, options?: CollectorOptions): MessageCollector;
  210.         equals(channel: GroupDMChannel): boolean;
  211.         fetchMessage(messageID: string): Promise<Message>;
  212.         fetchMessages(options?: ChannelLogsQueryOptions): Promise<Collection<string, Message>>;
  213.         fetchPinnedMessages(): Promise<Collection<string, Message>>;
  214.         send(content?: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  215.         sendCode(lang: string, content: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  216.         sendEmbed(embed: RichEmbed, content?: string, options?: MessageOptions): Promise<Message>;
  217.         sendEmbed(embed: RichEmbed, options?: MessageOptions): Promise<Message>;
  218.         sendFile(attachment: BufferResolvable, fileName?: string, content?: StringResolvable, options?: MessageOptions): Promise<Message>;
  219.         sendMessage(content: string, options?: MessageOptions): Promise<Message | Message[]>;
  220.         startTyping(count?: number): void;
  221.         stopTyping(force?: boolean): void;
  222.         toString(): string;
  223.     }
  224.     export class GuildChannel extends Channel {
  225.         guild: Guild;
  226.         name: string;
  227.         permissionOverwrites: Collection<string, PermissionOverwrites>;
  228.         position: number;
  229.         clone(name?: string, withPermissions?: boolean): Promise<GuildChannel>;
  230.         createInvite(options?: InviteOptions): Promise<Invite>;
  231.         edit(data: ChannelData): Promise<GuildChannel>;
  232.         equals(channel: GuildChannel): boolean;
  233.         overwritePermissions(userOrRole: RoleResolvable | UserResolvable, options: PermissionOverwriteOptions): Promise<void>;
  234.         permissionsFor(member: GuildMemberResolvable): EvaluatedPermissions;
  235.         setName(name: string): Promise<GuildChannel>;
  236.         setPosition(position: number): Promise<GuildChannel>;
  237.         setTopic(topic: string): Promise<GuildChannel>;
  238.         toString(): string;
  239.     }
  240.     export class TextChannel extends GuildChannel {
  241.         lastMessageID: string;
  242.         members: Collection<string, GuildMember>;
  243.         messages: Collection<string, Message>;
  244.         topic: string;
  245.         typing: boolean;
  246.         typingCount: number;
  247.         awaitMessages(filter: CollectorFilterFunction, options?: AwaitMessagesOptions): Promise<Collection<string, Message>>;
  248.         bulkDelete(messages: Collection<string, Message> | Message[] | number): Promise<Collection<string, Message>>;
  249.         createCollector(filter: CollectorFilterFunction, options?: CollectorOptions): MessageCollector;
  250.         createWebhook(name: string, avatar: BufferResolvable): Promise<Webhook>;
  251.         fetchMessage(messageID: string): Promise<Message>;
  252.         fetchMessages(options?: ChannelLogsQueryOptions): Promise<Collection<string, Message>>;
  253.         fetchPinnedMessages(): Promise<Collection<string, Message>>;
  254.         fetchWebhooks(): Promise<Collection<string, Webhook>>;
  255.         send(content?: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  256.         sendCode(lang: string, content: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  257.         sendEmbed(embed: RichEmbed, content?: string, options?: MessageOptions): Promise<Message>;
  258.         sendEmbed(embed: RichEmbed, options?: MessageOptions): Promise<Message>;
  259.         sendFile(attachment: BufferResolvable, fileName?: string, content?: StringResolvable, options?: MessageOptions): Promise<Message>;
  260.         sendMessage(content: string, options?: MessageOptions): Promise<Message | Message[]>;
  261.         startTyping(count?: number): void;
  262.         stopTyping(force?: boolean): void;
  263.     }
  264.     export class MessageCollector extends EventEmitter {
  265.         constructor(channel: Channel, filter: CollectorFilterFunction, options?: CollectorOptions);
  266.         channel: Channel;
  267.         collected: Collection<string, Message>;
  268.         filter: CollectorFilterFunction;
  269.         next: Promise<Message>;
  270.         options: CollectorOptions;
  271.         stop(reason?: string): void;
  272.         on(event: 'end', listener: (collection: Collection<string, Message>, reason: string) => void): this;
  273.         on(event: 'message', listener: (message: Message, collector: MessageCollector) => void): this;
  274.     }
  275.     export class Game {
  276.         name: string;
  277.         streaming: boolean;
  278.         type: number;
  279.         url: string;
  280.         equals(other: Game): boolean;
  281.     }
  282.     export class PermissionOverwrites {
  283.         channel: GuildChannel;
  284.         id: string;
  285.         type: string;
  286.         delete(): Promise<PermissionOverwrites>;
  287.     }
  288.     export class Guild {
  289.         afkChannelID: string;
  290.         afkTimeout: number;
  291.         applicationID: string;
  292.         available: boolean;
  293.         channels: Collection<string, GuildChannel>;
  294.         client: Client;
  295.         createdAt: Date;
  296.         createdTimestamp: number;
  297.         defaultChannel: GuildChannel;
  298.         embedEnabled: boolean;
  299.         emojis: Collection<string, Emoji>;
  300.         features: Object[];
  301.         icon: string;
  302.         iconURL: string;
  303.         id: string;
  304.         joinedAt: Date;
  305.         joinedTimestamp: number;
  306.         large: boolean;
  307.         memberCount: number;
  308.         members: Collection<string, GuildMember>;
  309.         name: string;
  310.         owner: GuildMember;
  311.         ownerID: string;
  312.         presences: Collection<string, Presence>;
  313.         region: string;
  314.         roles: Collection<string, Role>;
  315.         splash: string;
  316.         splashURL: string;
  317.         verificationLevel: number;
  318.         voiceConnection: VoiceConnection;
  319.         ban(user: GuildMember, deleteDays?: number): Promise<GuildMember | User | string>;
  320.         createChannel(name: string, type: 'text' | 'voice', overwrites?: PermissionOverwrites[]): Promise<TextChannel | VoiceChannel>;
  321.         createEmoji(attachment: BufferResolvable, name: string): Promise<Emoji>;
  322.         createRole(data?: RoleData): Promise<Role>;
  323.         delete(): Promise<Guild>;
  324.         deleteEmoji(emoji: Emoji | string): Promise<void>;
  325.         edit(data: GuildEditData): Promise<Guild>;
  326.         equals(guild: Guild): boolean;
  327.         fetchBans(): Promise<Collection<string, User>>;
  328.         fetchInvites(): Promise<Collection<string, Invite>>;
  329.         fetchMember(user: UserResolvable): Promise<GuildMember>;
  330.         fetchMembers(query?: string): Promise<Guild>;
  331.         fetchWebhooks(): Collection<string, Webhook>;
  332.         leave(): Promise<Guild>;
  333.         member(user: UserResolvable): GuildMember;
  334.         pruneMembers(days: number, dry?: boolean): Promise<number>;
  335.         setAFKChannel(afkChannel: ChannelResovalble): Promise<Guild>;
  336.         setAFKTimeout(afkTimeout: number): Promise<Guild>;
  337.         setIcon(icon: Base64Resolvable): Promise<Guild>;
  338.         setName(name: string): Promise<Guild>;
  339.         setOwner(owner: GuildMemberResolvable): Promise<Guild>;
  340.         setRegion(region: string): Promise<Guild>;
  341.         setRolePosition(role: string | Role, position: number): Promise<Guild>;
  342.         setSplash(splash: Base64Resolvable): Promise<Guild>;
  343.         setVerificationLevel(level: number): Promise<Guild>;
  344.         sync(): void;
  345.         toString(): string;
  346.         unban(user: UserResolvable): Promise<User>;
  347.     }
  348.     export class GuildMember {
  349.         bannable: boolean;
  350.         client: Client;
  351.         deaf: boolean;
  352.         displayName: string;
  353.         guild: Guild;
  354.         highestRole: Role;
  355.         id: string;
  356.         joinedAt: Date;
  357.         joinedTimestamp: number;
  358.         kickable: boolean;
  359.         lastMessageID: string;
  360.         mute: boolean;
  361.         nickname: string;
  362.         permissions: EvaluatedPermissions;
  363.         presence: Presence;
  364.         roles: Collection<string, Role>;
  365.         selfDeaf: boolean;
  366.         selfMute: boolean;
  367.         serverDeaf: boolean;
  368.         serverMute: boolean;
  369.         speaking: boolean;
  370.         user: User;
  371.         voiceChannel: VoiceChannel;
  372.         voiceChannelID: string;
  373.         voiceSessionID: string;
  374.         addRole(role: Role | string): Promise<GuildMember>;
  375.         addRoles(roles: Collection<string, Role> | Role[] | string[]): Promise<GuildMember>;
  376.         ban(deleteDays?: number): Promise<GuildMember>;
  377.         deleteDM(): Promise<DMChannel>;
  378.         edit(data: {}): Promise<GuildMember>;
  379.         hasPermission(permission: PermissionResolvable, explicit?: boolean): boolean;
  380.         hasPermissions(permission: PermissionResolvable[], explicit?: boolean): boolean;
  381.         kick(): Promise<GuildMember>;
  382.         missingPermissions(permissions: PermissionResolvable[], explicit?: boolean): PermissionResolvable[];
  383.         permissionsIn(channel: ChannelResovalble): EvaluatedPermissions;
  384.         removeRole(role: Role | string): Promise<GuildMember>;
  385.         removeRoles(roles: Collection<string, Role> | Role[] | string[]): Promise<GuildMember>;
  386.         send(content?: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  387.         sendCode(lang: string, content: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  388.         sendEmbed(embed: RichEmbed, content?: string, options?: MessageOptions): Promise<Message>;
  389.         sendEmbed(embed: RichEmbed, options?: MessageOptions): Promise<Message>;
  390.         sendFile(attachment: BufferResolvable, fileName?: string, content?: StringResolvable, options?: MessageOptions): Promise<Message>;
  391.         sendMessage(content: string, options?: MessageOptions): Promise<Message | Message[]>;
  392.         setDeaf(deaf: boolean): Promise<GuildMember>;
  393.         setMute(mute: boolean): Promise<GuildMember>;
  394.         setNickname(nickname: string): Promise<GuildMember>;
  395.         setRoles(roles: Collection<string, Role> | Role[] | string[]): Promise<GuildMember>;
  396.         setVoiceChannel(voiceChannel: ChannelResovalble): Promise<GuildMember>;
  397.         toString(): string;
  398.     }
  399.     export class User {
  400.         avatar: string;
  401.         avatarURL: string;
  402.         bot: boolean;
  403.         client: Client;
  404.         createdAt: Date;
  405.         createdTimestamp: number;
  406.         defaultAvatarURL: string;
  407.         discriminator: string;
  408.         displayAvatarURL: string;
  409.         dmChannel: DMChannel;
  410.         id: string;
  411.         lastMessageID: string;
  412.         note: string;
  413.         presence: Presence;
  414.         username: string;
  415.         addFriend(): Promise<User>;
  416.         block(): Promise<User>;
  417.         deleteDM(): Promise<DMChannel>;
  418.         equals(user: User): boolean;
  419.         fetchProfile(): Promise<UserProfile>;
  420.         removeFriend(): Promise<User>;
  421.         send(content?: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  422.         sendCode(lang: string, content: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  423.         sendEmbed(embed: RichEmbed, content?: string, options?: MessageOptions): Promise<Message>;
  424.         sendEmbed(embed: RichEmbed, options?: MessageOptions): Promise<Message>;
  425.         sendFile(attachment: BufferResolvable, fileName?: string, content?: StringResolvable, options?: MessageOptions): Promise<Message>;
  426.         sendMessage(content: string, options?: MessageOptions): Promise<Message | Message[]>;
  427.         setNote(note: string): Promise<User>;
  428.         toString(): string;
  429.         typingDurationIn(channel: ChannelResovalble): number;
  430.         typingIn(channel: ChannelResovalble): boolean;
  431.         typingSinceIn(channel: ChannelResovalble): Date;
  432.         unblock(): Promise<User>;
  433.     }
  434.     export class PartialGuildChannel {
  435.         client: Client;
  436.         id: string;
  437.         name: string;
  438.         type: string;
  439.     }
  440.     export class PartialGuild {
  441.         client: Client;
  442.         icon: string;
  443.         id: string;
  444.         name: string;
  445.         splash: string;
  446.     }
  447.     class PendingVoiceConnection {
  448.         channel: VoiceChannel;
  449.         data: Object;
  450.         deathTimer: NodeJS.Timer;
  451.         voiceManager: ClientVoiceManager;
  452.         setSessionID(sessionID: string);
  453.         setTokenAndEndpoint(token: string, endpoint: string);
  454.         upgrade(): VoiceConnection;
  455.     }
  456.     export class OAuth2Application {
  457.         client: Client;
  458.         createdAt: Date;
  459.         createdTimestamp: number;
  460.         description: string;
  461.         icon: string;
  462.         iconURL: string;
  463.         id: string;
  464.         name: string;
  465.         rpcOrigins: string[];
  466.         toString(): string;
  467.     }
  468.     export class ClientOAuth2Application extends OAuth2Application {
  469.         flags: number;
  470.         owner: User;
  471.     }
  472.     export class Message {
  473.         attachments: Collection<string, MessageAttachment>;
  474.         author: User;
  475.         channel: TextChannel | DMChannel | GroupDMChannel;
  476.         cleanContent: string;
  477.         client: Client;
  478.         content: string;
  479.         createdAt: Date;
  480.         createdTimestamp: number;
  481.         deletable: boolean;
  482.         editable: boolean;
  483.         editedAt: Date;
  484.         editedTimestamp: number;
  485.         edits: Message[];
  486.         embeds: MessageEmbed[];
  487.         guild: Guild;
  488.         id: string;
  489.         member: GuildMember;
  490.         mentions: {
  491.             users: Collection<string, User>;
  492.             roles: Collection<string, Role>;
  493.             channels: Collection<string, GuildChannel>;
  494.             everyone: boolean;
  495.         };
  496.         nonce: string;
  497.         pinnable: boolean;
  498.         pinned: boolean;
  499.         reactions: Collection<string, MessageReaction>;
  500.         system: boolean;
  501.         tts: boolean;
  502.         type: string;
  503.         webhookID: string;
  504.         clearReactions(): Promise<Message>;
  505.         delete(timeout?: number): Promise<Message>;
  506.         edit(content: StringResolvable, options?: MessageEditOptions): Promise<Message>;
  507.         editCode(lang: string, content: StringResolvable): Promise<Message>;
  508.         equals(message: Message, rawData: Object): boolean;
  509.         fetchWebhook(): Promise<Webhook>;
  510.         isMemberMentioned(member: GuildMember | User): boolean;
  511.         isMentioned(data: GuildChannel | User | Role | string): boolean;
  512.         pin(): Promise<Message>;
  513.         react(emoji: string | Emoji | ReactionEmoji): Promise<MessageReaction>;
  514.         reply(content: StringResolvable, options?: MessageOptions): Promise<Message | Message[]>;
  515.         toString(): string;
  516.         unpin(): Promise<Message>;
  517.     }
  518.     export class MessageEmbed {
  519.         author: MessageEmbedAuthor;
  520.         client: Client;
  521.         color: number;
  522.         createdAt: Date;
  523.         createdTimestamp: number;
  524.         description: string;
  525.         fields: MessageEmbedField[];
  526.         footer: MessageEmbedFooter;
  527.         hexColor: string;
  528.         message: Message;
  529.         provider: MessageEmbedProvider;
  530.         thumbnail: MessageEmbedThumbnail;
  531.         title: string;
  532.         type: string;
  533.         url: string;
  534.     }
  535.     export class MessageEmbedAuthor {
  536.         embed: MessageEmbed;
  537.         iconURL: string;
  538.         name: string;
  539.         url: string;
  540.     }
  541.     export class MessageEmbedField {
  542.         embed: MessageEmbed;
  543.         inline: boolean;
  544.         name: string;
  545.         value: string;
  546.     }
  547.     export class MessageEmbedFooter {
  548.         embed: MessageEmbed;
  549.         iconURL: string;
  550.         proxyIconURL: string;
  551.         text: string;
  552.     }
  553.     export class MessageEmbedProvider {
  554.         embed: MessageEmbed;
  555.         name: string;
  556.         url: string;
  557.     }
  558.     export class MessageEmbedThumbnail {
  559.         embed: MessageEmbed;
  560.         height: number;
  561.         proxyURL: string;
  562.         url: string;
  563.         width: number;
  564.     }
  565.     export class RichEmbed {
  566.         constructor(data?: RichEmbedOptions);
  567.         author?: { name: string; url?: string; icon_url?: string; };
  568.         color?: number | string;
  569.         description?: string;
  570.         fields?: { name: string; value: string; inline?: boolean; }[];
  571.         footer?: { text?: string; icon_url?: string; };
  572.         image?: { url: string; proxy_url?: string; height?: number; width?: number; };
  573.         thumbnail?: { url: string; height?: number; width?: number; };
  574.         timestamp?: Date;
  575.         title?: string;
  576.         url?: string;
  577.         addField(name: string, value: StringResolvable, inline?: boolean): this;
  578.         setAuthor(name: string, icon?: string, url?: string): this;
  579.         setColor(color: string | number | number[]): this;
  580.         setDescription(description: string): this;
  581.         setFooter(text: string, icon?: string): this;
  582.         setImage(url: string): this;
  583.         setThumbnail(url: string): this;
  584.         setTimestamp(timestamp?: Date): this;
  585.         setTitle(title: string): this;
  586.         setURL(url: string): this;
  587.     }
  588.     export class MessageAttachment {
  589.         client: Client;
  590.         filename: string;
  591.         filesize: number;
  592.         height: number;
  593.         id: string;
  594.         message: Message;
  595.         proxyURL: string;
  596.         url: string;
  597.         width: number;
  598.     }
  599.     export class MessageReaction {
  600.         count: number;
  601.         emoji: Emoji | ReactionEmoji;
  602.         me: boolean;
  603.         message: Message;
  604.         users: Collection<string, User>;
  605.         fetchUsers(limit?: number): Promise<Collection<string, User>>;
  606.         remove(user?: UserResolvable): Promise<MessageReaction>;
  607.     }
  608.     export class Invite {
  609.         channel: GuildChannel | PartialGuildChannel;
  610.         client: Client;
  611.         code: string;
  612.         createdAt: Date;
  613.         createdTimestamp: number;
  614.         expiresAt: Date;
  615.         expiresTimestamp: number;
  616.         guild: Guild | PartialGuild;
  617.         inviter: User;
  618.         maxAge: number;
  619.         maxUses: number;
  620.         temporary: boolean;
  621.         url: string;
  622.         uses: number;
  623.         delete(): Promise<Invite>;
  624.         toString(): string;
  625.     }
  626.     export class VoiceChannel extends GuildChannel {
  627.         bitrate: number;
  628.         connection: VoiceConnection;
  629.         joinable: boolean;
  630.         members: Collection<string, GuildMember>;
  631.         speakable: boolean;
  632.         userLimit: number;
  633.         join(): Promise<VoiceConnection>;
  634.         leave(): void;
  635.         setBitrate(bitrate: number): Promise<VoiceChannel>;
  636.         setUserLimit(userLimit: number): Promise<VoiceChannel>;
  637.     }
  638.     export class Shard {
  639.         constructor(manager: ShardingManager, id: number, args?: string[]);
  640.         env: Object;
  641.         id: string;
  642.         manager: ShardingManager;
  643.         process: ChildProcess;
  644.         eval(script: string): Promise<any>;
  645.         fetchClientValue(prop: string): Promise<any>;
  646.         send(message: any): Promise<Shard>;
  647.     }
  648.     export class ShardingManager extends EventEmitter {
  649.         constructor(file: string, options?: {
  650.             totalShards?: number;
  651.             respawn?: boolean;
  652.             shardArgs?: string[];
  653.             token?: string;
  654.         });
  655.         file: string;
  656.         respawn: boolean;
  657.         shardArgs: string[];
  658.         shards: Collection<number, Shard>;
  659.         token: string;
  660.         totalShards: number;
  661.         broadcast(message: any): Promise<Shard[]>;
  662.         broadcastEval(script: string): Promise<any[]>;
  663.         createShard(id: number): Promise<Shard>;
  664.         fetchClientValues(prop: string): Promise<any[]>;
  665.         spawn(amount?: number, delay?: number): Promise<Collection<number, Shard>>;
  666.         on(event: 'launch', listener: (shard: Shard) => void): this;
  667.     }
  668.     export class ShardClientUtil {
  669.         constructor(client: Client);
  670.         id: number;
  671.         count: number;
  672.         broadcastEval(script: string): Promise<any[]>;
  673.         fetchClientValues(prop: string): Promise<any[]>;
  674.         send(message: any): Promise<void>;
  675.         singleton(client: Client): ShardClientUtil;
  676.     }
  677.     export class UserConnection {
  678.         id: string;
  679.         integrations: Object[];
  680.         name: string;
  681.         revoked: boolean;
  682.         type: string;
  683.         user: User;
  684.     }
  685.     export class UserProfile {
  686.         client: Client;
  687.         connections: Collection<string, UserConnection>;
  688.         mutualGuilds: Collection<string, Guild>;
  689.         premium: boolean;
  690.         user: User;
  691.     }
  692.     export class StreamDispatcher extends EventEmitter {
  693.         passes: number;
  694.         paused: boolean;
  695.         time: number;
  696.         totalStreamTime: number;
  697.         volume: number;
  698.         end(): void;
  699.         pause(): void;
  700.         resume(): void;
  701.         setVolume(volume: number): void;
  702.         setVolumeDecibels(db: number): void;
  703.         setVolumeLogarithmic(value: number): void;
  704.         on(event: 'debug', listener: (information: string) => void): this;
  705.         on(event: 'end', listener: () => void): this;
  706.         on(event: 'error', listener: (err: Error) => void): this;
  707.         on(event: 'speaking', listener: (value: boolean) => void): this;
  708.         on(event: 'start', listener: () => void): this;
  709.     }
  710.     export class EvaluatedPermissions {
  711.         member: GuildMember;
  712.         raw: number;
  713.         hasPermission(permission: PermissionResolvable, explicit?: boolean): boolean;
  714.         hasPermissions(permission: PermissionResolvable[], explicit?: boolean): boolean;
  715.         serialize(): Permissions;
  716.     }
  717.     export class Role {
  718.         client: Client;
  719.         color: number;
  720.         createdAt: Date;
  721.         createdTimestamp: number;
  722.         guild: Guild;
  723.         hexColor: string;
  724.         hoist: boolean;
  725.         id: string;
  726.         managed: boolean;
  727.         members: Collection<string, GuildMember>;
  728.         mentionable: boolean;
  729.         name: string;
  730.         permissions: number;
  731.         position: number;
  732.         static comparePositions(role1: Role, role2: Role): number;
  733.         comparePositionTo(role: Role): number;
  734.         delete(): Promise<Role>;
  735.         edit(data: RoleData): Promise<Role>;
  736.         equals(role: Role): boolean;
  737.         hasPermission(permission: PermissionResolvable, explicit?: boolean): boolean;
  738.         hasPermissions(permissions: PermissionResolvable[], explicit?: boolean): boolean;
  739.         serialize(): Permissions;
  740.         setColor(color: string | number): Promise<Role>;
  741.         setHoist(hoist: boolean): Promise<Role>;
  742.         setMentionable(mentionable: boolean): Promise<Role>;
  743.         setName(name: string): Promise<Role>;
  744.         setPermissions(permissions: PermissionResolvable[]): Promise<Role>;
  745.         setPosition(position: number): Promise<Role>;
  746.         toString(): string;
  747.     }
  748.     export class ClientVoiceManager {
  749.         client: Client;
  750.         connections: Collection<string, VoiceConnection>;
  751.         pending: Collection<string, VoiceConnection>;
  752.         joinChannel(channel: VoiceChannel): Promise<VoiceConnection>;
  753.         sendVoiceStateUpdate(channel: VoiceChannel, options?: Object);
  754.     }
  755.     class AudioPlayer extends EventEmitter {
  756.         dispatcher: StreamDispatcher;
  757.         voiceConnection: VoiceConnection;
  758.     }
  759.     export class VoiceConnection extends EventEmitter {
  760.         channel: VoiceChannel;
  761.         player: AudioPlayer;
  762.         receivers: VoiceReceiver[];
  763.         speaking: boolean;
  764.         voiceManager: ClientVoiceManager;
  765.         createReceiver(): VoiceReceiver;
  766.         disconnect();
  767.         playConvertedStream(stream: ReadableStream, options?: StreamOptions): StreamDispatcher;
  768.         playFile(file: string, options?: StreamOptions): StreamDispatcher;
  769.         playStream(stream: ReadableStream, options?: StreamOptions): StreamDispatcher;
  770.         on(event: 'debug', listener: (message: string) => void): this;
  771.         on(event: 'disconnect', listener: (error: Error) => void): this;
  772.         on(event: 'error', listener: (error: Error) => void): this;
  773.         on(event: 'ready', listener: () => void): this;
  774.         on(event: 'speaking', listener: (user: User, speaking: boolean) => void): this;
  775.         on(event: 'warn', listener: (warning: string | Error) => void): this;
  776.     }
  777.     export class VoiceReceiver extends EventEmitter {
  778.         destroyed: boolean;
  779.         voiceConnection: VoiceConnection;
  780.         createOpusStream(user: UserResolvable): ReadableStream;
  781.         createPCMStream(user: UserResolvable): ReadableStream;
  782.         destroy(): void;
  783.         recreate(): void;
  784.         on(event: 'opus', listener: (user: User, buffer: Buffer) => void): this;
  785.         on(event: 'pcm', listener: (user: User, buffer: Buffer) => void): this;
  786.         on(event: 'warn', listener: (message: string) => void): this;
  787.     }
  788.     export class Collection<K, V> extends Map<K, V> {
  789.         array(): V[];
  790.         concat(...collections: Collection<any, any>[]): Collection<any, any>;
  791.         deleteAll(): Promise<V>[];
  792.         every(fn: Function, thisArg?: Object): boolean;
  793.         exists(prop: keyof V, value: any): boolean;
  794.         filter(fn: Function, thisArg?: Object): Collection<K, V>;
  795.         filterArray(fn: Function, thisArg?: Object): V[];
  796.         find(propOrFn: keyof V | Function, value?: any): V;
  797.         findAll(prop: keyof V, value: any): V[];
  798.         findKey(propOrFn: keyof V | Function, value?: any): K;
  799.         first(): V;
  800.         firstKey(): K;
  801.         keyArray(): K[];
  802.         last(): V;
  803.         lastKey(): K;
  804.         map(fn: Function, thisArg?: Object): any[];
  805.         random(): V;
  806.         randomKey(): K;
  807.         reduce(fn: Function, startVal?: any): any;
  808.         some(fn: Function, thisArg?: Object): boolean;
  809.     }
  810.     interface AwaitMessagesOptions extends CollectorOptions { errors?: string[]; }
  811.     type Base64String = string;
  812.     type Base64Resolvable = Buffer | Base64String;
  813.     type BufferResolvable = Buffer | string;
  814.     type ChannelData = {
  815.         name?: string;
  816.         position?: number;
  817.         topic?: string;
  818.         bitrate?: number;
  819.         userLimit?: number;
  820.     };
  821.     type ChannelLogsQueryOptions = {
  822.         limit?: number
  823.         before?: string
  824.         after?: string
  825.         around?: string
  826.     };
  827.     type ChannelResovalble = Channel | Guild | Message | string;
  828.     type ClientOptions = {
  829.         apiRequestMethod?: string;
  830.         shardId?: number;
  831.         shardCount?: number;
  832.         maxMessageCache?: number;
  833.         messageCacheLifetime?: number;
  834.         messageSweepInterval?: number;
  835.         fetchAllMembers?: boolean;
  836.         disableEveryone?: boolean;
  837.         sync?: boolean;
  838.         restWsBridgeTimeout?: number;
  839.         restTimeOffset?: number;
  840.         disabledEvents?: WSEventType[];
  841.         ws?: WebSocketOptions;
  842.     };
  843.     type CollectorFilterFunction = (message?: Message, collector?: MessageCollector) => boolean;
  844.     interface CollectorOptions { time?: number; max?: number; maxMatches?: number; }
  845.     type EmojiIdentifierResolvable = string | Emoji | ReactionEmoji;
  846.     type FileOptions = { attachment: BufferResolvable; name?: string; }
  847.     type GuildEditData = {
  848.         name?: string;
  849.         region?: string;
  850.         verificationLevel?: number;
  851.         afkChannel?: ChannelResovalble;
  852.         afkTimeout?: number;
  853.         icon?: Base64Resolvable;
  854.         owner?: GuildMemberResolvable;
  855.         splash?: Base64Resolvable;
  856.     };
  857.     type GuildMemberResolvable = GuildMember | User;
  858.     type GuildResolvable = Guild | string;
  859.     type InviteOptions = { temporary?: boolean; maxAge?: number; maxUses?: number; };
  860.     type InviteResolvable = string;
  861.     type MessageEditOptions = { embed: RichEmbedOptions; };
  862.     type MessageOptions = {
  863.         tts?: boolean;
  864.         nonce?: string;
  865.         embed?: RichEmbedOptions,
  866.         disableEveryone?: boolean;
  867.         file?: FileOptions | string;
  868.         code?: string;
  869.         split?: boolean | SplitOptions;
  870.     };
  871.     type PermissionOverwriteOptions = Permissions;
  872.     type PermissionResolvable = PermissionString | PermissionString[] | number[];
  873.     interface Permissions {
  874.         CREATE_INSTANT_INVITE?: boolean;
  875.         KICK_MEMBERS?: boolean;
  876.         BAN_MEMBERS?: boolean;
  877.         ADMINISTRATOR?: boolean;
  878.         MANAGE_CHANNELS?: boolean;
  879.         MANAGE_GUILD?: boolean;
  880.         READ_MESSAGES?: boolean;
  881.         SEND_MESSAGES?: boolean;
  882.         SEND_TTS_MESSAGES?: boolean;
  883.         MANAGE_MESSAGES?: boolean;
  884.         EMBED_LINKS?: boolean;
  885.         ATTACH_FILES?: boolean;
  886.         READ_MESSAGE_HISTORY?: boolean;
  887.         MENTION_EVERYONE?: boolean;
  888.         EXTERNAL_EMOJIS?: boolean;
  889.         CONNECT?: boolean;
  890.         SPEAK?: boolean;
  891.         MUTE_MEMBERS?: boolean;
  892.         DEAFEN_MEMBERS?: boolean;
  893.         MOVE_MEMBERS?: boolean;
  894.         USE_VAD?: boolean;
  895.         CHANGE_NICKNAME?: boolean;
  896.         MANAGE_NICKNAMES?: boolean;
  897.         MANAGE_ROLES_OR_PERMISSIONS?: boolean;
  898.         MANAGE_WEBHOOKS?: boolean;
  899.         MANAGE_EMOJIS?: boolean;
  900.     }
  901.     type PermissionString = 'CREATE_INSTANT_INVITE'
  902.         | 'KICK_MEMBERS'
  903.         | 'BAN_MEMBERS'
  904.         | 'ADMINISTRATOR'
  905.         | 'MANAGE_CHANNELS'
  906.         | 'MANAGE_GUILD'
  907.         | 'ADD_REACTIONS'
  908.         | 'READ_MESSAGES'
  909.         | 'SEND_MESSAGES'
  910.         | 'SEND_TTS_MESSAGES'
  911.         | 'MANAGE_MESSAGES'
  912.         | 'EMBED_LINKS'
  913.         | 'ATTACH_FILES'
  914.         | 'READ_MESSAGE_HISTORY'
  915.         | 'MENTION_EVERYONE'
  916.         | 'EXTERNAL_EMOJIS'
  917.         | 'CONNECT'
  918.         | 'SPEAK'
  919.         | 'MUTE_MEMBERS'
  920.         | 'DEAFEN_MEMBERS'
  921.         | 'MOVE_MEMBERS'
  922.         | 'USE_VAD'
  923.         | 'CHANGE_NICKNAME'
  924.         | 'MANAGE_NICKNAMES'
  925.         | 'MANAGE_ROLES_OR_PERMISSIONS'
  926.         | 'MANAGE_WEBHOOKS'
  927.         | 'MANAGE_EMOJIS';
  928.     type PresenceData = {
  929.         status?: PresenceStatus;
  930.         afk?: boolean;
  931.         game?: {
  932.             name?: string;
  933.             url?: string;
  934.         }
  935.     }
  936.     type PresenceStatus = 'online' | 'idle' | 'invisible' | 'dnd';
  937.     type RichEmbedOptions = {
  938.         title?: string;
  939.         description?: string;
  940.         url?: string;
  941.         timestamp?: Date;
  942.         color?: number | string;
  943.         fields?: { name: string; value: string; inline?: boolean; }[];
  944.         author?: { name: string; url?: string; icon_url?: string; };
  945.         thumbnail?: { url: string; height?: number; width?: number; };
  946.         image?: { url: string; proxy_url?: string; height?: number; width?: number; };
  947.         video?: { url: string; height: number; width: number; };
  948.         footer?: { text?: string; icon_url?: string; };
  949.     };
  950.     type RoleData = {
  951.         name?: string;
  952.         color?: number | string;
  953.         hoist?: boolean;
  954.         position?: number;
  955.         permissions?: PermissionString[];
  956.         mentionable?: boolean;
  957.     };
  958.     type RoleResolvable = Role | string;
  959.     type SplitOptions = { maxLength?: number; char?: string; prepend?: string; append?: string; };
  960.     type StreamOptions = { seek?: number; volume?: number; passes?: number; };
  961.     type StringResolvable = any[] | string | any;
  962.     type UserResolvable = User | string | Message | Guild | GuildMember;
  963.     type WebhookMessageOptions = {
  964.         tts?: boolean;
  965.         disableEveryone?: boolean;
  966.     };
  967.     type WebSocketOptions = { large_threshold?: number; compress?: boolean; };
  968.     type WSEventType = 'READY'
  969.         | 'GUILD_SYNC'
  970.         | 'GUILD_CREATE'
  971.         | 'GUILD_DELETE'
  972.         | 'GUILD_UPDATE'
  973.         | 'GUILD_MEMBER_ADD'
  974.         | 'GUILD_MEMBER_REMOVE'
  975.         | 'GUILD_MEMBER_UPDATE'
  976.         | 'GUILD_MEMBERS_CHUNK'
  977.         | 'GUILD_ROLE_CREATE'
  978.         | 'GUILD_ROLE_DELETE'
  979.         | 'GUILD_ROLE_UPDATE'
  980.         | 'GUILD_BAN_ADD'
  981.         | 'GUILD_BAN_REMOVE'
  982.         | 'CHANNEL_CREATE'
  983.         | 'CHANNEL_DELETE'
  984.         | 'CHANNEL_UPDATE'
  985.         | 'CHANNEL_PINS_UPDATE'
  986.         | 'MESSAGE_CREATE'
  987.         | 'MESSAGE_DELETE'
  988.         | 'MESSAGE_UPDATE'
  989.         | 'MESSAGE_DELETE_BULK'
  990.         | 'MESSAGE_REACTION_ADD'
  991.         | 'MESSAGE_REACTION_REMOVE'
  992.         | 'MESSAGE_REACTION_REMOVE_ALL'
  993.         | 'USER_UPDATE'
  994.         | 'USER_NOTE_UPDATE'
  995.         | 'PRESENCE_UPDATE'
  996.         | 'VOICE_STATE_UPDATE'
  997.         | 'TYPING_START'
  998.         | 'VOICE_SERVER_UPDATE'
  999.         | 'RELATIONSHIP_ADD'
  1000.         | 'RELATIONSHIP_REMOVE';
  1001. }
Add Comment
Please, Sign In to add comment