mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-13 10:03:31 +01:00
initial
This commit is contained in:
7
src/util/CloneObject.js
Normal file
7
src/util/CloneObject.js
Normal file
@@ -0,0 +1,7 @@
|
||||
'use strict';
|
||||
module.exports = function CloneObject(obj) {
|
||||
var cloned = Object.create(obj);
|
||||
Object.assign(cloned, obj);
|
||||
|
||||
return cloned;
|
||||
};
|
||||
118
src/util/Constants.js
Normal file
118
src/util/Constants.js
Normal file
@@ -0,0 +1,118 @@
|
||||
const DefaultOptions = exports.DefaultOptions = {
|
||||
ws: {
|
||||
large_threshold: 250,
|
||||
compress: true,
|
||||
properties: {
|
||||
$os: process ? process.platform : 'discord.js',
|
||||
$browser: 'discord.js',
|
||||
$device: 'discord.js',
|
||||
$referrer: '',
|
||||
$referring_domain: '',
|
||||
},
|
||||
},
|
||||
protocol_version: 4,
|
||||
};
|
||||
|
||||
const Package = exports.Package = require('../../package.json');
|
||||
|
||||
const Errors = exports.Errors = {
|
||||
NO_TOKEN: new Error('request to use token, but token was unavailable to the client'),
|
||||
NO_BOT_ACCOUNT: new Error('you should ideally be using a bot account!'),
|
||||
BAD_WS_MESSAGE: new Error('a bad message was received from the websocket - bad compression or not json'),
|
||||
TOOK_TOO_LONG: new Error('something took too long to do'),
|
||||
};
|
||||
|
||||
const API = 'https://discordapp.com/api';
|
||||
|
||||
const Endpoints = exports.Endpoints = {
|
||||
// general endpoints
|
||||
LOGIN: `${API}/auth/login`,
|
||||
LOGOUT: `${API}/auth/logout`,
|
||||
ME: `${API}/users/@me`,
|
||||
ME_GUILD: (guildID) => `${Endpoints.ME}/guilds/${guildID}`,
|
||||
GATEWAY: `${API}/gateway`,
|
||||
USER_CHANNELS: (userID) => `${API}/users/${userID}/channels`,
|
||||
AVATAR: (userID, avatar) => `${API}/users/${userID}/avatars/${avatar}.jpg`,
|
||||
INVITE: (id) => `${API}/invite/${id}`,
|
||||
|
||||
// guilds
|
||||
GUILDS: `${API}/guilds`,
|
||||
GUILD: (guildID) => `${Endpoints.GUILDS}/${guildID}`,
|
||||
GUILD_ICON: (guildID, hash) => `${Endpoints.GUILD(guildID)}/icons/${hash}.jpg`,
|
||||
GUILD_PRUNE: (guildID) => `${Endpoints.GUILD(guildID)}/prune`,
|
||||
GUILD_EMBED: (guildID) => `${Endpoints.GUILD(guildID)}/embed`,
|
||||
GUILD_INVITES: (guildID) => `${Endpoints.GUILD(guildID)}/invites`,
|
||||
GUILD_ROLES: (guildID) => `${Endpoints.GUILD(guildID)}/roles`,
|
||||
GUILD_BANS: (guildID) => `${Endpoints.GUILD(guildID)}/bans`,
|
||||
GUILD_INTEGRATIONS: (guildID) => `${Endpoints.GUILD(guildID)}/integrations`,
|
||||
GUILD_MEMBERS: (guildID) => `${Endpoints.GUILD(guildID)}/members`,
|
||||
GUILD_CHANNELS: (guildID) => `${Endpoints.GUILD(guildID)}/channels`,
|
||||
|
||||
// channels
|
||||
CHANNELS: `${API}/channels`,
|
||||
CHANNEL: (channelID) => `${Endpoints.CHANNELS}/${channelID}`,
|
||||
CHANNEL_MESSAGES: (channelID) => `${Endpoints.CHANNEL(channelID)}/messages`,
|
||||
CHANNEL_INVITES: (channelID) => `${Endpoints.CHANNEL(channelID)}/invites`,
|
||||
CHANNEL_TYPING: (channelID) => `${Endpoints.CHANNEL(channelID)}/typing`,
|
||||
CHANNEL_PERMISSIONS: (channelID) => `${Endpoints.CHANNEL(channelID)}/permissions`,
|
||||
CHANNEL_MESSAGE: (channelID, messageID) => `${Endpoints.CHANNEL_MESSAGES(channelID)}/${messageID}`,
|
||||
};
|
||||
|
||||
const OPCodes = exports.OPCodes = {
|
||||
DISPATCH: 0,
|
||||
HEARTBEAT: 1,
|
||||
IDENTIFY: 2,
|
||||
STATUS_UPDATE: 3,
|
||||
VOICE_STATE_UPDATE: 4,
|
||||
VOICE_GUILD_PING: 5,
|
||||
RESUME: 6,
|
||||
RECONNECT: 7,
|
||||
REQUEST_GUILD_MEMBERS: 8,
|
||||
INVALID_SESSION: 9,
|
||||
};
|
||||
|
||||
const Events = exports.Events = {
|
||||
READY: 'ready',
|
||||
GUILD_CREATE: 'guildCreate',
|
||||
GUILD_DELETE: 'guildDelete',
|
||||
GUILD_UNAVAILABLE: 'guildUnavailable',
|
||||
GUILD_AVAILABLE: 'guildAvailable',
|
||||
GUILD_UPDATE: 'guildUpdate',
|
||||
GUILD_BAN_ADD: 'guildBanAdd',
|
||||
GUILD_BAN_REMOVE: 'guildBanRemove',
|
||||
GUILD_MEMBER_ADD: 'guildMemberAdd',
|
||||
GUILD_MEMBER_REMOVE: 'guildMemberRemove',
|
||||
GUILD_MEMBER_ROLES_UPDATE: 'guildMemberRolesUpdate',
|
||||
CHANNEL_CREATE: 'channelCreate',
|
||||
CHANNEL_DELETE: 'channelDelete',
|
||||
CHANNEL_UPDATE: 'channelUpdate',
|
||||
WARN: 'warn',
|
||||
};
|
||||
|
||||
const WSEvents = exports.WSEvents = {
|
||||
CHANNEL_CREATE: 'CHANNEL_CREATE',
|
||||
CHANNEL_DELETE: 'CHANNEL_DELETE',
|
||||
CHANNEL_UPDATE: 'CHANNEL_UPDATE',
|
||||
MESSAGE_CREATE: 'MESSAGE_CREATE',
|
||||
MESSAGE_DELETE: 'MESSAGE_DELETE',
|
||||
MESSAGE_UPDATE: 'MESSAGE_UPDATE',
|
||||
PRESENCE_UPDATE: 'PRESENCE_UPDATE',
|
||||
READY: 'READY',
|
||||
GUILD_BAN_ADD: 'GUILD_BAN_ADD',
|
||||
GUILD_BAN_REMOVE: 'GUILD_BAN_REMOVE',
|
||||
GUILD_CREATE: 'GUILD_CREATE',
|
||||
GUILD_DELETE: 'GUILD_DELETE',
|
||||
GUILD_MEMBER_ADD: 'GUILD_MEMBER_ADD',
|
||||
GUILD_MEMBER_REMOVE: 'GUILD_MEMBER_REMOVE',
|
||||
GUILD_MEMBER_UPDATE: 'GUILD_MEMBER_UPDATE',
|
||||
GUILD_MEMBERS_CHUNK: 'GUILD_MEMBERS_CHUNK',
|
||||
GUILD_ROLE_CREATE: 'GUILD_ROLE_CREATE',
|
||||
GUILD_ROLE_DELETE: 'GUILD_ROLE_DELETE',
|
||||
GUILD_ROLE_UPDATE: 'GUILD_ROLE_UPDATE',
|
||||
GUILD_UPDATE: 'GUILD_UPDATE',
|
||||
TYPING: 'TYPING_START',
|
||||
USER_UPDATE: 'USER_UPDATE',
|
||||
VOICE_STATE_UPDATE: 'VOICE_STATE_UPDATE',
|
||||
FRIEND_ADD: 'RELATIONSHIP_ADD',
|
||||
FRIEND_REMOVE: 'RELATIONSHIP_REMOVE',
|
||||
};
|
||||
19
src/util/MergeDefault.js
Normal file
19
src/util/MergeDefault.js
Normal file
@@ -0,0 +1,19 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = function merge(def, given) {
|
||||
if (!given) {
|
||||
return def;
|
||||
}
|
||||
|
||||
given = given || {};
|
||||
|
||||
for (var key in def) {
|
||||
if (!given.hasOwnProperty(key)) {
|
||||
given[key] = def[key];
|
||||
} else if (given[key] === Object(given[key])) {
|
||||
given[key] = merge(def[key], given[key]);
|
||||
}
|
||||
}
|
||||
|
||||
return given;
|
||||
};
|
||||
Reference in New Issue
Block a user