style: alphabetically organize imports

This commit is contained in:
NotSugden
2020-02-27 19:35:36 +00:00
parent e0a742969d
commit 02aee9b06d
70 changed files with 195 additions and 210 deletions

View File

@@ -2,9 +2,9 @@
require('setimmediate'); require('setimmediate');
const { EventEmitter } = require('events'); const { EventEmitter } = require('events');
const { DefaultOptions } = require('../util/Constants');
const RESTManager = require('../rest/RESTManager'); const RESTManager = require('../rest/RESTManager');
const Util = require('../util/Util'); const Util = require('../util/Util');
const { DefaultOptions } = require('../util/Constants');
/** /**
* The base class for all clients. * The base class for all clients.

View File

@@ -1,24 +1,24 @@
'use strict'; 'use strict';
const BaseClient = require('./BaseClient');
const Permissions = require('../util/Permissions');
const ClientVoiceManager = require('./voice/ClientVoiceManager');
const WebSocketManager = require('./websocket/WebSocketManager');
const ActionsManager = require('./actions/ActionsManager'); const ActionsManager = require('./actions/ActionsManager');
const BaseClient = require('./BaseClient');
const { browser, Events, DefaultOptions } = require('../util/Constants');
const ChannelManager = require('../managers/ChannelManager');
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const ClientApplication = require('../structures/ClientApplication');
const ClientVoiceManager = require('./voice/ClientVoiceManager');
const DataResolver = require('../util/DataResolver');
const { Error, RangeError, TypeError } = require('../errors');
const GuildEmojiManager = require('../managers/GuildEmojiManager');
const GuildManager = require('../managers/GuildManager');
const Invite = require('../structures/Invite');
const Permissions = require('../util/Permissions');
const ShardClientUtil = require('../sharding/ShardClientUtil');
const Structures = require('../util/Structures');
const UserManager = require('../managers/UserManager');
const VoiceRegion = require('../structures/VoiceRegion'); const VoiceRegion = require('../structures/VoiceRegion');
const Webhook = require('../structures/Webhook'); const Webhook = require('../structures/Webhook');
const Invite = require('../structures/Invite'); const WebSocketManager = require('./websocket/WebSocketManager');
const ClientApplication = require('../structures/ClientApplication');
const ShardClientUtil = require('../sharding/ShardClientUtil');
const UserManager = require('../managers/UserManager');
const ChannelManager = require('../managers/ChannelManager');
const GuildManager = require('../managers/GuildManager');
const GuildEmojiManager = require('../managers/GuildEmojiManager');
const { Events, browser, DefaultOptions } = require('../util/Constants');
const DataResolver = require('../util/DataResolver');
const Structures = require('../util/Structures');
const { Error, TypeError, RangeError } = require('../errors');
/** /**
* The main hub for interacting with the Discord API, and the starting point for any bot. * The main hub for interacting with the Discord API, and the starting point for any bot.

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const Webhook = require('../structures/Webhook');
const BaseClient = require('./BaseClient'); const BaseClient = require('./BaseClient');
const Webhook = require('../structures/Webhook');
/** /**
* The webhook client. * The webhook client.

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Action = require('./Action'); const Action = require('./Action');
const { Events } = require('../../util/Constants');
const DMChannel = require('../../structures/DMChannel'); const DMChannel = require('../../structures/DMChannel');
const { Events } = require('../../util/Constants');
class ChannelDeleteAction extends Action { class ChannelDeleteAction extends Action {
constructor(client) { constructor(client) {

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Action = require('./Action'); const Action = require('./Action');
const Invite = require('../../structures/Invite');
const { Events } = require('../../util/Constants'); const { Events } = require('../../util/Constants');
const Invite = require('../../structures/Invite');
class InviteCreateAction extends Action { class InviteCreateAction extends Action {
handle(data) { handle(data) {

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Action = require('./Action'); const Action = require('./Action');
const Invite = require('../../structures/Invite');
const { Events } = require('../../util/Constants'); const { Events } = require('../../util/Constants');
const Invite = require('../../structures/Invite');
class InviteDeleteAction extends Action { class InviteDeleteAction extends Action {
handle(data) { handle(data) {

View File

@@ -1,15 +1,7 @@
'use strict'; 'use strict';
const Action = require('./Action'); const Action = require('./Action');
const { Events } = require('../../util/Constants'); const { Events, PartialTypes } = require('../../util/Constants');
const { PartialTypes } = require('../../util/Constants');
/*
{ user_id: 'id',
message_id: 'id',
emoji: { name: '<27>', id: null },
channel_id: 'id' } }
*/
class MessageReactionAdd extends Action { class MessageReactionAdd extends Action {
handle(data) { handle(data) {

View File

@@ -3,13 +3,6 @@
const Action = require('./Action'); const Action = require('./Action');
const { Events } = require('../../util/Constants'); const { Events } = require('../../util/Constants');
/*
{ user_id: 'id',
message_id: 'id',
emoji: { name: '<27>', id: null },
channel_id: 'id' } }
*/
class MessageReactionRemove extends Action { class MessageReactionRemove extends Action {
handle(data) { handle(data) {
if (!data.emoji) return false; if (!data.emoji) return false;

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const Collection = require('../../util/Collection'); const Collection = require('../../util/Collection');
const VoiceConnection = require('./VoiceConnection');
const VoiceBroadcast = require('./VoiceBroadcast');
const { Error } = require('../../errors'); const { Error } = require('../../errors');
const VoiceBroadcast = require('./VoiceBroadcast');
const VoiceConnection = require('./VoiceConnection');
/** /**
* Manages voice connections for the client * Manages voice connections for the client

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const { EventEmitter } = require('events');
const BroadcastAudioPlayer = require('./player/BroadcastAudioPlayer'); const BroadcastAudioPlayer = require('./player/BroadcastAudioPlayer');
const { EventEmitter } = require('events');
const { Events } = require('../../util/Constants'); const { Events } = require('../../util/Constants');
const PlayInterface = require('./util/PlayInterface'); const PlayInterface = require('./util/PlayInterface');

View File

@@ -1,16 +1,22 @@
'use strict'; 'use strict';
const VoiceWebSocket = require('./networking/VoiceWebSocket');
const VoiceUDP = require('./networking/VoiceUDPClient');
const Util = require('../../util/Util');
const { OPCodes, VoiceOPCodes, VoiceStatus, Events } = require('../../util/Constants');
const AudioPlayer = require('./player/AudioPlayer'); const AudioPlayer = require('./player/AudioPlayer');
const VoiceReceiver = require('./receiver/Receiver');
const { EventEmitter } = require('events');
const { Error } = require('../../errors'); const { Error } = require('../../errors');
const { EventEmitter } = require('events');
const { Events, OPCodes, VoiceOPCodes, VoiceStatus } = require('../../util/Constants');
const PlayInterface = require('./util/PlayInterface'); const PlayInterface = require('./util/PlayInterface');
const Speaking = require('../../util/Speaking');
const Silence = require('./util/Silence'); const Silence = require('./util/Silence');
const Speaking = require('../../util/Speaking');
const Util = require('../../util/Util');
const VoiceReceiver = require('./receiver/Receiver');
const VoiceUDP = require('./networking/VoiceUDPClient');
const VoiceWebSocket = require('./networking/VoiceWebSocket');
const SUPPORTED_MODES = [
'xsalsa20_poly1305_lite',
'xsalsa20_poly1305_suffix',
'xsalsa20_poly1305',
];
// Workaround for Discord now requiring silence to be sent before being able to receive audio // Workaround for Discord now requiring silence to be sent before being able to receive audio
class SingleSilence extends Silence { class SingleSilence extends Silence {
@@ -20,12 +26,6 @@ class SingleSilence extends Silence {
} }
} }
const SUPPORTED_MODES = [
'xsalsa20_poly1305_lite',
'xsalsa20_poly1305_suffix',
'xsalsa20_poly1305',
];
/** /**
* Represents a connection to a guild's voice server. * Represents a connection to a guild's voice server.
* ```js * ```js

View File

@@ -1,15 +1,13 @@
'use strict'; 'use strict';
const VolumeInterface = require('../util/VolumeInterface');
const { Writable } = require('stream');
const secretbox = require('../util/Secretbox'); const secretbox = require('../util/Secretbox');
const Silence = require('../util/Silence'); const Silence = require('../util/Silence');
const VolumeInterface = require('../util/VolumeInterface');
const { Writable } = require('stream');
const FRAME_LENGTH = 20; const FRAME_LENGTH = 20;
const CHANNELS = 2; const CHANNELS = 2;
const TIMESTAMP_INC = (48000 / 100) * CHANNELS; const TIMESTAMP_INC = (48000 / 100) * CHANNELS;
const MAX_NONCE_SIZE = (2 ** 32) - 1; const MAX_NONCE_SIZE = (2 ** 32) - 1;
const nonce = Buffer.alloc(24); const nonce = Buffer.alloc(24);

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const { Error } = require('../../../errors');
const { EventEmitter } = require('events');
const udp = require('dgram'); const udp = require('dgram');
const { VoiceOPCodes } = require('../../../util/Constants'); const { VoiceOPCodes } = require('../../../util/Constants');
const { EventEmitter } = require('events');
const { Error } = require('../../../errors');
/** /**
* Represents a UDP client for a Voice Connection. * Represents a UDP client for a Voice Connection.

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const { OPCodes, VoiceOPCodes } = require('../../../util/Constants');
const { EventEmitter } = require('events');
const { Error } = require('../../../errors'); const { Error } = require('../../../errors');
const { EventEmitter } = require('events');
const { OPCodes, VoiceOPCodes } = require('../../../util/Constants');
const WebSocket = require('../../../WebSocket'); const WebSocket = require('../../../WebSocket');
/** /**

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const { EventEmitter } = require('events'); const { EventEmitter } = require('events');
const { Readable: ReadableStream } = require('stream');
const prism = require('prism-media'); const prism = require('prism-media');
const { Readable: ReadableStream } = require('stream');
const StreamDispatcher = require('../dispatcher/StreamDispatcher'); const StreamDispatcher = require('../dispatcher/StreamDispatcher');
const FFMPEG_ARGUMENTS = [ const FFMPEG_ARGUMENTS = [

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const BroadcastDispatcher = require('../dispatcher/BroadcastDispatcher');
const BasePlayer = require('./BasePlayer'); const BasePlayer = require('./BasePlayer');
const BroadcastDispatcher = require('../dispatcher/BroadcastDispatcher');
/** /**
* An Audio Player for a Voice Connection. * An Audio Player for a Voice Connection.

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const secretbox = require('../util/Secretbox');
const { EventEmitter } = require('events'); const { EventEmitter } = require('events');
const secretbox = require('../util/Secretbox');
// The delay between packets when a user is considered to have stopped speaking // The delay between packets when a user is considered to have stopped speaking
// https://github.com/discordjs/discord.js/issues/3524#issuecomment-540373200 // https://github.com/discordjs/discord.js/issues/3524#issuecomment-540373200

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const { EventEmitter } = require('events');
const prism = require('prism-media');
const PacketHandler = require('./PacketHandler');
const { Error } = require('../../../errors'); const { Error } = require('../../../errors');
const { EventEmitter } = require('events');
const PacketHandler = require('./PacketHandler');
const prism = require('prism-media');
/** /**
* Receives audio packets from a voice connection. * Receives audio packets from a voice connection.

View File

@@ -1,12 +1,12 @@
'use strict'; 'use strict';
const Collection = require('../../util/Collection');
const { EventEmitter } = require('events'); const { EventEmitter } = require('events');
const { Error: DJSError } = require('../../errors'); const { Error: DJSError } = require('../../errors');
const Collection = require('../../util/Collection');
const Util = require('../../util/Util');
const WebSocketShard = require('./WebSocketShard');
const { Events, ShardEvents, Status, WSCodes, WSEvents } = require('../../util/Constants'); const { Events, ShardEvents, Status, WSCodes, WSEvents } = require('../../util/Constants');
const PacketHandlers = require('./handlers'); const PacketHandlers = require('./handlers');
const Util = require('../../util/Util');
const WebSocketShard = require('./WebSocketShard');
const BeforeReadyWhitelist = [ const BeforeReadyWhitelist = [
WSEvents.READY, WSEvents.READY,

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const { browser, Events, OPCodes, ShardEvents, Status, WSEvents } = require('../../util/Constants');
const { EventEmitter } = require('events'); const { EventEmitter } = require('events');
const WebSocket = require('../../WebSocket'); const WebSocket = require('../../WebSocket');
const { browser, Status, Events, ShardEvents, OPCodes, WSEvents } = require('../../util/Constants');
const STATUS_KEYS = Object.keys(Status); const STATUS_KEYS = Object.keys(Status);
const CONNECTION_STATE = Object.keys(WebSocket.WebSocket); const CONNECTION_STATE = Object.keys(WebSocket.WebSocket);

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const { Events } = require('../../../util/Constants');
const Collection = require('../../../util/Collection'); const Collection = require('../../../util/Collection');
const { Events } = require('../../../util/Constants');
module.exports = (client, { d: data }) => { module.exports = (client, { d: data }) => {
const guild = client.guilds.cache.get(data.guild_id); const guild = client.guilds.cache.get(data.guild_id);

View File

@@ -1,6 +1,6 @@
'use strict'; 'use strict';
const { Status, Events } = require('../../../util/Constants'); const { Events, Status } = require('../../../util/Constants');
module.exports = (client, { d: data }, shard) => { module.exports = (client, { d: data }, shard) => {
const guild = client.guilds.cache.get(data.guild_id); const guild = client.guilds.cache.get(data.guild_id);

View File

@@ -2,8 +2,8 @@
// Heavily inspired by node's `internal/errors` module // Heavily inspired by node's `internal/errors` module
const kCode = Symbol('code');
const messages = new Map(); const messages = new Map();
const kCode = Symbol('code');
/** /**
* Extend an error of some sort into a DiscordjsError. * Extend an error of some sort into a DiscordjsError.

View File

@@ -17,21 +17,21 @@ module.exports = {
Collection: require('./util/Collection'), Collection: require('./util/Collection'),
Constants: require('./util/Constants'), Constants: require('./util/Constants'),
DataResolver: require('./util/DataResolver'), DataResolver: require('./util/DataResolver'),
LimitedCollection: require('./util/LimitedCollection'),
BaseManager: require('./managers/BaseManager'),
DiscordAPIError: require('./rest/DiscordAPIError'), DiscordAPIError: require('./rest/DiscordAPIError'),
HTTPError: require('./rest/HTTPError'), HTTPError: require('./rest/HTTPError'),
LimitedCollection: require('./util/LimitedCollection'),
MessageFlags: require('./util/MessageFlags'), MessageFlags: require('./util/MessageFlags'),
Permissions: require('./util/Permissions'), Permissions: require('./util/Permissions'),
Speaking: require('./util/Speaking'),
Snowflake: require('./util/Snowflake'), Snowflake: require('./util/Snowflake'),
SnowflakeUtil: require('./util/Snowflake'), SnowflakeUtil: require('./util/Snowflake'),
Speaking: require('./util/Speaking'),
Structures: require('./util/Structures'), Structures: require('./util/Structures'),
SystemChannelFlags: require('./util/SystemChannelFlags'), SystemChannelFlags: require('./util/SystemChannelFlags'),
Util: Util, Util,
version: require('../package.json').version, version: require('../package.json').version,
// Managers // Managers
BaseManager: require('./managers/BaseManager'),
ChannelManager: require('./managers/ChannelManager'), ChannelManager: require('./managers/ChannelManager'),
GuildChannelManager: require('./managers/GuildChannelManager'), GuildChannelManager: require('./managers/GuildChannelManager'),
GuildEmojiManager: require('./managers/GuildEmojiManager'), GuildEmojiManager: require('./managers/GuildEmojiManager'),
@@ -39,9 +39,9 @@ module.exports = {
GuildMemberManager: require('./managers/GuildMemberManager'), GuildMemberManager: require('./managers/GuildMemberManager'),
GuildMemberRoleManager: require('./managers/GuildMemberRoleManager'), GuildMemberRoleManager: require('./managers/GuildMemberRoleManager'),
GuildManager: require('./managers/GuildManager'), GuildManager: require('./managers/GuildManager'),
ReactionUserManager: require('./managers/ReactionUserManager'),
MessageManager: require('./managers/MessageManager'), MessageManager: require('./managers/MessageManager'),
PresenceManager: require('./managers/PresenceManager'), PresenceManager: require('./managers/PresenceManager'),
ReactionUserManager: require('./managers/ReactionUserManager'),
RoleManager: require('./managers/RoleManager'), RoleManager: require('./managers/RoleManager'),
UserManager: require('./managers/UserManager'), UserManager: require('./managers/UserManager'),
@@ -54,12 +54,13 @@ module.exports = {
splitMessage: Util.splitMessage, splitMessage: Util.splitMessage,
// Structures // Structures
Base: require('./structures/Base'),
Activity: require('./structures/Presence').Activity, Activity: require('./structures/Presence').Activity,
APIMessage: require('./structures/APIMessage'), APIMessage: require('./structures/APIMessage'),
Base: require('./structures/Base'),
CategoryChannel: require('./structures/CategoryChannel'), CategoryChannel: require('./structures/CategoryChannel'),
Channel: require('./structures/Channel'), Channel: require('./structures/Channel'),
ClientApplication: require('./structures/ClientApplication'), ClientApplication: require('./structures/ClientApplication'),
ClientPresence: require('./structures/ClientPresence'),
get ClientUser() { get ClientUser() {
// This is a getter so that it properly extends any custom User class // This is a getter so that it properly extends any custom User class
return require('./structures/ClientUser'); return require('./structures/ClientUser');
@@ -83,7 +84,6 @@ module.exports = {
NewsChannel: require('./structures/NewsChannel'), NewsChannel: require('./structures/NewsChannel'),
PermissionOverwrites: require('./structures/PermissionOverwrites'), PermissionOverwrites: require('./structures/PermissionOverwrites'),
Presence: require('./structures/Presence').Presence, Presence: require('./structures/Presence').Presence,
ClientPresence: require('./structures/ClientPresence'),
ReactionCollector: require('./structures/ReactionCollector'), ReactionCollector: require('./structures/ReactionCollector'),
ReactionEmoji: require('./structures/ReactionEmoji'), ReactionEmoji: require('./structures/ReactionEmoji'),
RichPresenceAssets: require('./structures/Presence').RichPresenceAssets, RichPresenceAssets: require('./structures/Presence').RichPresenceAssets,

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const Channel = require('../structures/Channel');
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const Channel = require('../structures/Channel');
const { Events } = require('../util/Constants'); const { Events } = require('../util/Constants');
/** /**

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const { ChannelTypes } = require('../util/Constants');
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const { ChannelTypes } = require('../util/Constants');
const GuildChannel = require('../structures/GuildChannel'); const GuildChannel = require('../structures/GuildChannel');
const PermissionOverwrites = require('../structures/PermissionOverwrites'); const PermissionOverwrites = require('../structures/PermissionOverwrites');

View File

@@ -1,10 +1,10 @@
'use strict'; 'use strict';
const Collection = require('../util/Collection');
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const Collection = require('../util/Collection');
const DataResolver = require('../util/DataResolver');
const GuildEmoji = require('../structures/GuildEmoji'); const GuildEmoji = require('../structures/GuildEmoji');
const ReactionEmoji = require('../structures/ReactionEmoji'); const ReactionEmoji = require('../structures/ReactionEmoji');
const DataResolver = require('../util/DataResolver');
const { TypeError } = require('../errors'); const { TypeError } = require('../errors');
/** /**

View File

@@ -1,10 +1,10 @@
'use strict'; 'use strict';
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const GuildMember = require('../structures/GuildMember');
const { Events, OPCodes } = require('../util/Constants');
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const GuildMember = require('../structures/GuildMember');
const { Error, TypeError } = require('../errors'); const { Error, TypeError } = require('../errors');
const { Events, OPCodes } = require('../util/Constants');
/** /**
* Manages API methods for GuildMembers and stores their cache. * Manages API methods for GuildMembers and stores their cache.

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const Message = require('../structures/Message');
const LimitedCollection = require('../util/LimitedCollection');
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const LimitedCollection = require('../util/LimitedCollection');
const Message = require('../structures/Message');
/** /**
* Manages API methods for Messages and holds their cache. * Manages API methods for Messages and holds their cache.

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const { Presence } = require('../structures/Presence');
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const { Presence } = require('../structures/Presence');
/** /**
* Manages API methods for Presences and holds their cache. * Manages API methods for Presences and holds their cache.

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const MessageReaction = require('../structures/MessageReaction');
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const MessageReaction = require('../structures/MessageReaction');
/** /**
* Manages API methods for reactions and holds their cache. * Manages API methods for reactions and holds their cache.

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const Collection = require('../util/Collection');
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const Collection = require('../util/Collection');
const { Error } = require('../errors'); const { Error } = require('../errors');
/** /**

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const Role = require('../structures/Role');
const { resolveColor } = require('../util/Util');
const Permissions = require('../util/Permissions'); const Permissions = require('../util/Permissions');
const { resolveColor } = require('../util/Util');
const Role = require('../structures/Role');
/** /**
* Manages API methods for roles and stores their cache. * Manages API methods for roles and stores their cache.

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const BaseManager = require('./BaseManager'); const BaseManager = require('./BaseManager');
const User = require('../structures/User');
const GuildMember = require('../structures/GuildMember'); const GuildMember = require('../structures/GuildMember');
const Message = require('../structures/Message'); const Message = require('../structures/Message');
const User = require('../structures/User');
/** /**
* Manages API methods for users and stores their cache. * Manages API methods for users and stores their cache.

View File

@@ -1,10 +1,10 @@
'use strict'; 'use strict';
const FormData = require('form-data'); const AbortController = require('abort-controller');
const https = require('https');
const { browser, UserAgent } = require('../util/Constants'); const { browser, UserAgent } = require('../util/Constants');
const fetch = require('node-fetch'); const fetch = require('node-fetch');
const AbortController = require('abort-controller'); const FormData = require('form-data');
const https = require('https');
if (https.Agent) var agent = new https.Agent({ keepAlive: true }); if (https.Agent) var agent = new https.Agent({ keepAlive: true });

View File

@@ -1,11 +1,11 @@
'use strict'; 'use strict';
const RequestHandler = require('./RequestHandler');
const APIRequest = require('./APIRequest'); const APIRequest = require('./APIRequest');
const routeBuilder = require('./APIRouter');
const { Error } = require('../errors');
const { Endpoints } = require('../util/Constants');
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const { Endpoints } = require('../util/Constants');
const { Error } = require('../errors');
const RequestHandler = require('./RequestHandler');
const routeBuilder = require('./APIRouter');
class RESTManager { class RESTManager {
constructor(client, tokenPrefix = 'Bot') { constructor(client, tokenPrefix = 'Bot') {

View File

@@ -1,22 +1,22 @@
'use strict'; 'use strict';
const { browser, Events: { RATE_LIMIT } } = require('../util/Constants');
const DiscordAPIError = require('./DiscordAPIError'); const DiscordAPIError = require('./DiscordAPIError');
const HTTPError = require('./HTTPError'); const HTTPError = require('./HTTPError');
const Util = require('../util/Util'); const Util = require('../util/Util');
const { Events: { RATE_LIMIT }, browser } = require('../util/Constants');
function parseResponse(res) { function calculateReset(reset, serverDate) {
if (res.headers.get('content-type').startsWith('application/json')) return res.json(); return new Date(Number(reset) * 1000).getTime() - getAPIOffset(serverDate);
if (browser) return res.blob();
return res.buffer();
} }
function getAPIOffset(serverDate) { function getAPIOffset(serverDate) {
return new Date(serverDate).getTime() - Date.now(); return new Date(serverDate).getTime() - Date.now();
} }
function calculateReset(reset, serverDate) { function parseResponse(res) {
return new Date(Number(reset) * 1000).getTime() - getAPIOffset(serverDate); if (res.headers.get('content-type').startsWith('application/json')) return res.json();
if (browser) return res.blob();
return res.buffer();
} }
class RequestHandler { class RequestHandler {

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const { Error } = require('../errors');
const { EventEmitter } = require('events'); const { EventEmitter } = require('events');
const path = require('path'); const path = require('path');
const Util = require('../util/Util'); const Util = require('../util/Util');
const { Error } = require('../errors');
let childProcess = null; let childProcess = null;
let Worker = null; let Worker = null;

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const Util = require('../util/Util');
const { Events } = require('../util/Constants'); const { Events } = require('../util/Constants');
const Util = require('../util/Util');
/** /**
* Helper class for sharded clients spawned as a child process/worker, such as from a {@link ShardingManager}. * Helper class for sharded clients spawned as a child process/worker, such as from a {@link ShardingManager}.

View File

@@ -1,12 +1,13 @@
'use strict'; 'use strict';
const path = require('path');
const fs = require('fs');
const { EventEmitter } = require('events');
const Shard = require('./Shard');
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const Util = require('../util/Util');
const { Error, TypeError, RangeError } = require('../errors'); const { Error, TypeError, RangeError } = require('../errors');
const { EventEmitter } = require('events');
const fs = require('fs');
const path = require('path');
const Shard = require('./Shard');
const Util = require('../util/Util');
/** /**
* This is a utility class that makes multi-process sharding of a bot an easy and painless experience. * This is a utility class that makes multi-process sharding of a bot an easy and painless experience.

View File

@@ -1,12 +1,12 @@
'use strict'; 'use strict';
const DataResolver = require('../util/DataResolver');
const MessageEmbed = require('./MessageEmbed');
const MessageAttachment = require('./MessageAttachment');
const { browser } = require('../util/Constants'); const { browser } = require('../util/Constants');
const Util = require('../util/Util'); const DataResolver = require('../util/DataResolver');
const { RangeError } = require('../errors'); const MessageAttachment = require('./MessageAttachment');
const MessageEmbed = require('./MessageEmbed');
const MessageFlags = require('../util/MessageFlags'); const MessageFlags = require('../util/MessageFlags');
const { RangeError } = require('../errors');
const Util = require('../util/Util');
/** /**
* Represents a message to be sent to the API. * Represents a message to be sent to the API.

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Snowflake = require('../util/Snowflake');
const Base = require('./Base'); const Base = require('./Base');
const { ChannelTypes } = require('../util/Constants'); const { ChannelTypes } = require('../util/Constants');
const Snowflake = require('../util/Snowflake');
/** /**
* Represents any channel on Discord. * Represents any channel on Discord.

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Snowflake = require('../util/Snowflake');
const { ClientApplicationAssetTypes, Endpoints } = require('../util/Constants');
const Base = require('./Base'); const Base = require('./Base');
const { ClientApplicationAssetTypes, Endpoints } = require('../util/Constants');
const Snowflake = require('../util/Snowflake');
const Team = require('./Team'); const Team = require('./Team');
const AssetTypes = Object.keys(ClientApplicationAssetTypes); const AssetTypes = Object.keys(ClientApplicationAssetTypes);

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const { Presence } = require('./Presence');
const Collection = require('../util/Collection');
const { ActivityTypes, OPCodes } = require('../util/Constants'); const { ActivityTypes, OPCodes } = require('../util/Constants');
const Collection = require('../util/Collection');
const { Presence } = require('./Presence');
const { TypeError } = require('../errors'); const { TypeError } = require('../errors');
class ClientPresence extends Presence { class ClientPresence extends Presence {

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const Structures = require('../util/Structures');
const DataResolver = require('../util/DataResolver'); const DataResolver = require('../util/DataResolver');
const Structures = require('../util/Structures');
/** /**
* Represents the logged in client's Discord user. * Represents the logged in client's Discord user.

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Channel = require('./Channel'); const Channel = require('./Channel');
const TextBasedChannel = require('./interfaces/TextBasedChannel');
const MessageManager = require('../managers/MessageManager'); const MessageManager = require('../managers/MessageManager');
const TextBasedChannel = require('./interfaces/TextBasedChannel');
/** /**
* Represents a direct message channel between two users. * Represents a direct message channel between two users.

View File

@@ -1,8 +1,7 @@
'use strict'; 'use strict';
const Snowflake = require('../util/Snowflake');
const Base = require('./Base'); const Base = require('./Base');
const Snowflake = require('../util/Snowflake');
/** /**
* Represents an emoji, see {@link GuildEmoji} and {@link ReactionEmoji}. * Represents an emoji, see {@link GuildEmoji} and {@link ReactionEmoji}.

View File

@@ -1,24 +1,24 @@
'use strict'; 'use strict';
const Invite = require('./Invite'); const Base = require('./Base');
const Integration = require('./Integration');
const GuildAuditLogs = require('./GuildAuditLogs');
const Webhook = require('./Webhook');
const VoiceRegion = require('./VoiceRegion');
const { ChannelTypes, DefaultMessageNotifications, PartialTypes } = require('../util/Constants'); const { ChannelTypes, DefaultMessageNotifications, PartialTypes } = require('../util/Constants');
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const Util = require('../util/Util');
const DataResolver = require('../util/DataResolver'); const DataResolver = require('../util/DataResolver');
const { Error, TypeError } = require('../errors');
const GuildAuditLogs = require('./GuildAuditLogs');
const GuildChannelManager = require('../managers/GuildChannelManager');
const GuildEmojiManager = require('../managers/GuildEmojiManager');
const GuildMemberManager = require('../managers/GuildMemberManager');
const Integration = require('./Integration');
const Invite = require('./Invite');
const PresenceManager = require('../managers/PresenceManager');
const RoleManager = require('../managers/RoleManager');
const Snowflake = require('../util/Snowflake'); const Snowflake = require('../util/Snowflake');
const SystemChannelFlags = require('../util/SystemChannelFlags'); const SystemChannelFlags = require('../util/SystemChannelFlags');
const GuildMemberManager = require('../managers/GuildMemberManager'); const Util = require('../util/Util');
const RoleManager = require('../managers/RoleManager'); const VoiceRegion = require('./VoiceRegion');
const GuildEmojiManager = require('../managers/GuildEmojiManager');
const GuildChannelManager = require('../managers/GuildChannelManager');
const PresenceManager = require('../managers/PresenceManager');
const VoiceStateManager = require('../managers/VoiceStateManager'); const VoiceStateManager = require('../managers/VoiceStateManager');
const Base = require('./Base'); const Webhook = require('./Webhook');
const { Error, TypeError } = require('../errors');
/** /**
* Represents a guild (or a server) on Discord. * Represents a guild (or a server) on Discord.

View File

@@ -2,10 +2,10 @@
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const Integration = require('./Integration'); const Integration = require('./Integration');
const Snowflake = require('../util/Snowflake');
const Webhook = require('./Webhook');
const Util = require('../util/Util');
const { PartialTypes } = require('../util/Constants'); const { PartialTypes } = require('../util/Constants');
const Snowflake = require('../util/Snowflake');
const Util = require('../util/Util');
const Webhook = require('./Webhook');
/** /**
* The target type of an entry, e.g. `GUILD`. Here are the available types: * The target type of an entry, e.g. `GUILD`. Here are the available types:

View File

@@ -1,13 +1,13 @@
'use strict'; 'use strict';
const Channel = require('./Channel'); const Channel = require('./Channel');
const Role = require('./Role');
const Invite = require('./Invite');
const PermissionOverwrites = require('./PermissionOverwrites');
const Util = require('../util/Util');
const Permissions = require('../util/Permissions');
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const { Error, TypeError } = require('../errors'); const { Error, TypeError } = require('../errors');
const Invite = require('./Invite');
const PermissionOverwrites = require('./PermissionOverwrites');
const Permissions = require('../util/Permissions');
const Role = require('./Role');
const Util = require('../util/Util');
/** /**
* Represents a guild channel from any of the following: * Represents a guild channel from any of the following:

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const Emoji = require('./Emoji');
const { Error } = require('../errors');
const GuildEmojiRoleManager = require('../managers/GuildEmojiRoleManager'); const GuildEmojiRoleManager = require('../managers/GuildEmojiRoleManager');
const Permissions = require('../util/Permissions'); const Permissions = require('../util/Permissions');
const { Error } = require('../errors');
const Emoji = require('./Emoji');
/** /**
* Represents a custom emoji. * Represents a custom emoji.

View File

@@ -1,13 +1,13 @@
'use strict'; 'use strict';
const TextBasedChannel = require('./interfaces/TextBasedChannel');
const Role = require('./Role');
const Permissions = require('../util/Permissions');
const GuildMemberRoleManager = require('../managers/GuildMemberRoleManager');
const Base = require('./Base'); const Base = require('./Base');
const VoiceState = require('./VoiceState');
const { Presence } = require('./Presence');
const { Error } = require('../errors'); const { Error } = require('../errors');
const GuildMemberRoleManager = require('../managers/GuildMemberRoleManager');
const Permissions = require('../util/Permissions');
const { Presence } = require('./Presence');
const Role = require('./Role');
const TextBasedChannel = require('./interfaces/TextBasedChannel');
const VoiceState = require('./VoiceState');
/** /**
* Represents a member of a guild on Discord. * Represents a member of a guild on Discord.

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Base = require('./Base');
const { Endpoints } = require('../util/Constants'); const { Endpoints } = require('../util/Constants');
const Permissions = require('../util/Permissions'); const Permissions = require('../util/Permissions');
const Base = require('./Base');
/** /**
* Represents an invitation to a guild channel. * Represents an invitation to a guild channel.

View File

@@ -1,19 +1,19 @@
'use strict'; 'use strict';
const APIMessage = require('./APIMessage');
const Base = require('./Base');
const ClientApplication = require('./ClientApplication');
const Collection = require('../util/Collection');
const { Error, TypeError } = require('../errors');
const Mentions = require('./MessageMentions'); const Mentions = require('./MessageMentions');
const MessageAttachment = require('./MessageAttachment'); const MessageAttachment = require('./MessageAttachment');
const Embed = require('./MessageEmbed'); const MessageEmbed = require('./MessageEmbed');
const ReactionCollector = require('./ReactionCollector'); const MessageFlags = require('../util/MessageFlags');
const ClientApplication = require('./ClientApplication');
const Util = require('../util/Util');
const Collection = require('../util/Collection');
const ReactionManager = require('../managers/ReactionManager');
const { MessageTypes } = require('../util/Constants'); const { MessageTypes } = require('../util/Constants');
const Permissions = require('../util/Permissions'); const Permissions = require('../util/Permissions');
const Base = require('./Base'); const ReactionCollector = require('./ReactionCollector');
const { Error, TypeError } = require('../errors'); const ReactionManager = require('../managers/ReactionManager');
const APIMessage = require('./APIMessage'); const Util = require('../util/Util');
const MessageFlags = require('../util/MessageFlags');
/** /**
* Represents a message on Discord. * Represents a message on Discord.
@@ -98,7 +98,7 @@ class Message extends Base {
* A list of embeds in the message - e.g. YouTube Player * A list of embeds in the message - e.g. YouTube Player
* @type {MessageEmbed[]} * @type {MessageEmbed[]}
*/ */
this.embeds = (data.embeds || []).map(e => new Embed(e)); this.embeds = (data.embeds || []).map(e => new MessageEmbed(e));
/** /**
* A collection of attachments in the message - e.g. Pictures - mapped by their ID * A collection of attachments in the message - e.g. Pictures - mapped by their ID
@@ -223,7 +223,7 @@ class Message extends Base {
if ('content' in data) this.content = data.content; if ('content' in data) this.content = data.content;
if ('pinned' in data) this.pinned = data.pinned; if ('pinned' in data) this.pinned = data.pinned;
if ('tts' in data) this.tts = data.tts; if ('tts' in data) this.tts = data.tts;
if ('embeds' in data) this.embeds = data.embeds.map(e => new Embed(e)); if ('embeds' in data) this.embeds = data.embeds.map(e => new MessageEmbed(e));
else this.embeds = this.embeds.slice(); else this.embeds = this.embeds.slice();
if ('attachments' in data) { if ('attachments' in data) {

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const Collection = require('../util/Collection');
const Util = require('../util/Util');
const GuildMember = require('./GuildMember');
const { ChannelTypes } = require('../util/Constants'); const { ChannelTypes } = require('../util/Constants');
const Collection = require('../util/Collection');
const GuildMember = require('./GuildMember');
const Util = require('../util/Util');
/** /**
* Keeps track of mentions in a {@link Message}. * Keeps track of mentions in a {@link Message}.

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const GuildEmoji = require('./GuildEmoji'); const GuildEmoji = require('./GuildEmoji');
const Util = require('../util/Util');
const ReactionEmoji = require('./ReactionEmoji'); const ReactionEmoji = require('./ReactionEmoji');
const ReactionUserManager = require('../managers/ReactionUserManager'); const ReactionUserManager = require('../managers/ReactionUserManager');
const Util = require('../util/Util');
/** /**
* Represents a reaction to a message. * Represents a reaction to a message.

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const Role = require('./Role');
const Permissions = require('../util/Permissions'); const Permissions = require('../util/Permissions');
const Util = require('../util/Util'); const Role = require('./Role');
const { TypeError } = require('../errors'); const { TypeError } = require('../errors');
const Util = require('../util/Util');
/** /**
* Represents a permission overwrite for a role or member in a guild channel. * Represents a permission overwrite for a role or member in a guild channel.

View File

@@ -1,9 +1,9 @@
'use strict'; 'use strict';
const Util = require('../util/Util');
const ActivityFlags = require('../util/ActivityFlags'); const ActivityFlags = require('../util/ActivityFlags');
const { ActivityTypes } = require('../util/Constants'); const { ActivityTypes } = require('../util/Constants');
const Emoji = require('./Emoji'); const Emoji = require('./Emoji');
const Util = require('../util/Util');
/** /**
* Activity sent in a message. * Activity sent in a message.

View File

@@ -1,7 +1,7 @@
'use strict'; 'use strict';
const Util = require('../util/Util');
const Emoji = require('./Emoji'); const Emoji = require('./Emoji');
const Util = require('../util/Util');
/** /**
* Represents a limited emoji set used for both custom and unicode emojis. Custom emojis * Represents a limited emoji set used for both custom and unicode emojis. Custom emojis

View File

@@ -1,10 +1,10 @@
'use strict'; 'use strict';
const Snowflake = require('../util/Snowflake');
const Permissions = require('../util/Permissions');
const Util = require('../util/Util');
const Base = require('./Base'); const Base = require('./Base');
const { Error, TypeError } = require('../errors'); const { Error, TypeError } = require('../errors');
const Permissions = require('../util/Permissions');
const Snowflake = require('../util/Snowflake');
const Util = require('../util/Util');
/** /**
* Represents a role on Discord. * Represents a role on Discord.

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Snowflake = require('../util/Snowflake');
const Collection = require('../util/Collection');
const Base = require('./Base'); const Base = require('./Base');
const Collection = require('../util/Collection');
const Snowflake = require('../util/Snowflake');
const TeamMember = require('./TeamMember'); const TeamMember = require('./TeamMember');
/** /**

View File

@@ -1,11 +1,11 @@
'use strict'; 'use strict';
const GuildChannel = require('./GuildChannel');
const Webhook = require('./Webhook');
const TextBasedChannel = require('./interfaces/TextBasedChannel');
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const DataResolver = require('../util/DataResolver'); const DataResolver = require('../util/DataResolver');
const GuildChannel = require('./GuildChannel');
const MessageManager = require('../managers/MessageManager'); const MessageManager = require('../managers/MessageManager');
const TextBasedChannel = require('./interfaces/TextBasedChannel');
const Webhook = require('./Webhook');
/** /**
* Represents a guild text channel on Discord. * Represents a guild text channel on Discord.

View File

@@ -1,10 +1,10 @@
'use strict'; 'use strict';
const TextBasedChannel = require('./interfaces/TextBasedChannel');
const { Presence } = require('./Presence');
const Snowflake = require('../util/Snowflake');
const Base = require('./Base'); const Base = require('./Base');
const { Error } = require('../errors'); const { Error } = require('../errors');
const { Presence } = require('./Presence');
const Snowflake = require('../util/Snowflake');
const TextBasedChannel = require('./interfaces/TextBasedChannel');
/** /**
* Represents a user on Discord. * Represents a user on Discord.

View File

@@ -1,10 +1,10 @@
'use strict'; 'use strict';
const GuildChannel = require('./GuildChannel');
const { browser } = require('../util/Constants'); const { browser } = require('../util/Constants');
const Permissions = require('../util/Permissions');
const Collection = require('../util/Collection'); const Collection = require('../util/Collection');
const { Error } = require('../errors'); const { Error } = require('../errors');
const GuildChannel = require('./GuildChannel');
const Permissions = require('../util/Permissions');
/** /**
* Represents a guild voice channel on Discord. * Represents a guild voice channel on Discord.

View File

@@ -1,10 +1,10 @@
'use strict'; 'use strict';
const { WebhookTypes } = require('../util/Constants'); const APIMessage = require('./APIMessage');
const Channel = require('./Channel');
const DataResolver = require('../util/DataResolver'); const DataResolver = require('../util/DataResolver');
const Snowflake = require('../util/Snowflake'); const Snowflake = require('../util/Snowflake');
const Channel = require('./Channel'); const { WebhookTypes } = require('../util/Constants');
const APIMessage = require('./APIMessage');
/** /**
* Represents a webhook. * Represents a webhook.

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Collection = require('../../util/Collection'); const Collection = require('../../util/Collection');
const Util = require('../../util/Util');
const { EventEmitter } = require('events'); const { EventEmitter } = require('events');
const Util = require('../../util/Util');
/** /**
* Filter to be applied to the collector. * Filter to be applied to the collector.

View File

@@ -1,10 +1,10 @@
'use strict'; 'use strict';
const MessageCollector = require('../MessageCollector');
const Snowflake = require('../../util/Snowflake');
const Collection = require('../../util/Collection');
const { RangeError, TypeError } = require('../../errors');
const APIMessage = require('../APIMessage'); const APIMessage = require('../APIMessage');
const Collection = require('../../util/Collection');
const MessageCollector = require('../MessageCollector');
const { RangeError, TypeError } = require('../../errors');
const Snowflake = require('../../util/Snowflake');
/** /**
* Interface for classes that have text-channel-like features. * Interface for classes that have text-channel-like features.

View File

@@ -1,8 +1,8 @@
'use strict'; 'use strict';
const Package = exports.Package = require('../../package.json');
const { Error, RangeError } = require('../errors');
const browser = exports.browser = typeof window !== 'undefined'; const browser = exports.browser = typeof window !== 'undefined';
const { Error, RangeError } = require('../errors');
const Package = exports.Package = require('../../package.json');
/** /**
* Options for a client. * Options for a client.
@@ -659,7 +659,7 @@ exports.WebhookTypes = [
]; ];
function keyMirror(arr) { function keyMirror(arr) {
let tmp = Object.create(null); const tmp = Object.create(null);
for (const value of arr) tmp[value] = value; for (const value of arr) tmp[value] = value;
return tmp; return tmp;
} }

View File

@@ -1,11 +1,11 @@
'use strict'; 'use strict';
const path = require('path');
const fs = require('fs');
const fetch = require('node-fetch');
const Util = require('../util/Util');
const { Error: DiscordError, TypeError } = require('../errors');
const { browser } = require('../util/Constants'); const { browser } = require('../util/Constants');
const { Error: DiscordError, TypeError } = require('../errors');
const fetch = require('node-fetch');
const fs = require('fs');
const path = require('path');
const Util = require('../util/Util');
/** /**
* The DataResolver identifies different objects and tries to resolve a specific piece of information from them. * The DataResolver identifies different objects and tries to resolve a specific piece of information from them.

View File

@@ -1,11 +1,13 @@
'use strict'; 'use strict';
const { Colors, DefaultOptions, Endpoints } = require('./Constants'); const { Colors, DefaultOptions, Endpoints } = require('./Constants');
const fetch = require('node-fetch');
const { Error: DiscordError, RangeError, TypeError } = require('../errors'); const { Error: DiscordError, RangeError, TypeError } = require('../errors');
const fetch = require('node-fetch');
const { parse } = require('path');
const has = (o, k) => Object.prototype.hasOwnProperty.call(o, k); const has = (o, k) => Object.prototype.hasOwnProperty.call(o, k);
const isObject = d => typeof d === 'object' && d !== null; const isObject = d => typeof d === 'object' && d !== null;
const { parse } = require('path');
/** /**
* Contains various general-purpose utility methods. These functions are also available on the base `Discord` object. * Contains various general-purpose utility methods. These functions are also available on the base `Discord` object.