refactor: make use of destructuring for Constants (#1942)

This commit is contained in:
SpaceEEC
2017-09-16 20:31:36 +02:00
committed by Crawl
parent 25ece1882b
commit ec4c98704f
66 changed files with 262 additions and 262 deletions

View File

@@ -1,5 +1,5 @@
const EventEmitter = require('events');
const Constants = require('../../util/Constants');
const { DefaultOptions, Events, OPCodes, Status, WSCodes } = require('../../util/Constants');
const PacketManager = require('./packets/WebSocketPacketManager');
const WebSocket = require('../../WebSocket');
@@ -42,7 +42,7 @@ class WebSocketConnection extends EventEmitter {
* The current status of the client
* @type {number}
*/
this.status = Constants.Status.IDLE;
this.status = Status.IDLE;
/**
* The Packet Manager of the connection
@@ -93,7 +93,7 @@ class WebSocketConnection extends EventEmitter {
* @returns {void}
*/
triggerReady() {
if (this.status === Constants.Status.READY) {
if (this.status === Status.READY) {
this.debug('Tried to mark self as ready, but already ready');
return;
}
@@ -101,8 +101,8 @@ class WebSocketConnection extends EventEmitter {
* Emitted when the client becomes ready to start working.
* @event Client#ready
*/
this.status = Constants.Status.READY;
this.client.emit(Constants.Events.READY);
this.status = Status.READY;
this.client.emit(Events.READY);
this.packetManager.handleQueue();
}
@@ -111,13 +111,13 @@ class WebSocketConnection extends EventEmitter {
* @returns {void}
*/
checkIfReady() {
if (this.status === Constants.Status.READY || this.status === Constants.Status.NEARLY) return false;
if (this.status === Status.READY || this.status === Status.NEARLY) return false;
let unavailableGuilds = 0;
for (const guild of this.client.guilds.values()) {
if (!guild.available) unavailableGuilds++;
}
if (unavailableGuilds === 0) {
this.status = Constants.Status.NEARLY;
this.status = Status.NEARLY;
if (!this.client.options.fetchAllMembers) return this.triggerReady();
// Fetch all members before marking self as ready
const promises = this.client.guilds.map(g => g.members.fetch());
@@ -208,12 +208,12 @@ class WebSocketConnection extends EventEmitter {
this.expectingClose = false;
this.gateway = gateway;
this.debug(`Connecting to ${gateway}`);
const ws = this.ws = WebSocket.create(gateway, { v: Constants.DefaultOptions.ws.version });
const ws = this.ws = WebSocket.create(gateway, { v: DefaultOptions.ws.version });
ws.onmessage = this.onMessage.bind(this);
ws.onopen = this.onOpen.bind(this);
ws.onerror = this.onError.bind(this);
ws.onclose = this.onClose.bind(this);
this.status = Constants.Status.CONNECTING;
this.status = Status.CONNECTING;
return true;
}
@@ -232,7 +232,7 @@ class WebSocketConnection extends EventEmitter {
ws.close(1000);
this.packetManager.handleQueue();
this.ws = null;
this.status = Constants.Status.DISCONNECTED;
this.status = Status.DISCONNECTED;
this.ratelimit.remaining = this.ratelimit.total;
return true;
}
@@ -273,18 +273,18 @@ class WebSocketConnection extends EventEmitter {
return false;
}
switch (packet.op) {
case Constants.OPCodes.HELLO:
case OPCodes.HELLO:
return this.heartbeat(packet.d.heartbeat_interval);
case Constants.OPCodes.RECONNECT:
case OPCodes.RECONNECT:
return this.reconnect();
case Constants.OPCodes.INVALID_SESSION:
case OPCodes.INVALID_SESSION:
if (!packet.d) this.sessionID = null;
this.sequence = -1;
this.debug('Session invalidated -- will identify with a new session');
return this.identify(packet.d ? 2500 : 0);
case Constants.OPCodes.HEARTBEAT_ACK:
case OPCodes.HEARTBEAT_ACK:
return this.ackHeartbeat();
case Constants.OPCodes.HEARTBEAT:
case OPCodes.HEARTBEAT:
return this.heartbeat();
default:
return this.packetManager.handle(packet);
@@ -310,7 +310,7 @@ class WebSocketConnection extends EventEmitter {
* Emitted whenever the client tries to reconnect to the WebSocket.
* @event Client#reconnecting
*/
this.client.emit(Constants.Events.RECONNECTING);
this.client.emit(Events.RECONNECTING);
this.connect(this.gateway, 5500, true);
}
@@ -328,7 +328,7 @@ class WebSocketConnection extends EventEmitter {
* @event Client#error
* @param {Error} error The encountered error
*/
this.client.emit(Constants.Events.ERROR, error);
this.client.emit(Events.ERROR, error);
}
/**
@@ -347,15 +347,15 @@ class WebSocketConnection extends EventEmitter {
this.emit('close', event);
this.heartbeat(-1);
// Should we reconnect?
if (event.code === 1000 ? this.expectingClose : Constants.WSCodes[event.code]) {
if (event.code === 1000 ? this.expectingClose : WSCodes[event.code]) {
this.expectingClose = false;
/**
* Emitted when the client's WebSocket disconnects and will no longer attempt to reconnect.
* @event Client#disconnect
* @param {CloseEvent} event The WebSocket close event
*/
this.client.emit(Constants.Events.DISCONNECT, event);
this.debug(Constants.WSCodes[event.code]);
this.client.emit(Events.DISCONNECT, event);
this.debug(WSCodes[event.code]);
this.destroy();
return;
}
@@ -392,7 +392,7 @@ class WebSocketConnection extends EventEmitter {
this.debug('Sending a heartbeat');
this.lastPingTimestamp = Date.now();
this.send({
op: Constants.OPCodes.HEARTBEAT,
op: OPCodes.HEARTBEAT,
d: this.sequence,
});
}
@@ -426,7 +426,7 @@ class WebSocketConnection extends EventEmitter {
// Send the payload
this.debug('Identifying as a new session');
this.send({ op: Constants.OPCodes.IDENTIFY, d });
this.send({ op: OPCodes.IDENTIFY, d });
}
/**
@@ -447,7 +447,7 @@ class WebSocketConnection extends EventEmitter {
};
return this.send({
op: Constants.OPCodes.RESUME,
op: OPCodes.RESUME,
d,
});
}

View File

@@ -1,5 +1,5 @@
const EventEmitter = require('events');
const Constants = require('../../util/Constants');
const { Events, Status } = require('../../util/Constants');
const WebSocketConnection = require('./WebSocketConnection');
/**
@@ -37,7 +37,7 @@ class WebSocketManager extends EventEmitter {
* @returns {void}
*/
debug(message) {
return this.client.emit(Constants.Events.DEBUG, `[ws] ${message}`);
return this.client.emit(Events.DEBUG, `[ws] ${message}`);
}
/**
@@ -76,8 +76,8 @@ class WebSocketManager extends EventEmitter {
return true;
}
switch (this.connection.status) {
case Constants.Status.IDLE:
case Constants.Status.DISCONNECTED:
case Status.IDLE:
case Status.DISCONNECTED:
this.connection.connect(gateway, 5500);
return true;
default:

View File

@@ -1,13 +1,13 @@
const Constants = require('../../../util/Constants');
const { OPCodes, Status, WSEvents } = require('../../../util/Constants');
const BeforeReadyWhitelist = [
Constants.WSEvents.READY,
Constants.WSEvents.RESUMED,
Constants.WSEvents.GUILD_CREATE,
Constants.WSEvents.GUILD_DELETE,
Constants.WSEvents.GUILD_MEMBERS_CHUNK,
Constants.WSEvents.GUILD_MEMBER_ADD,
Constants.WSEvents.GUILD_MEMBER_REMOVE,
WSEvents.READY,
WSEvents.RESUMED,
WSEvents.GUILD_CREATE,
WSEvents.GUILD_DELETE,
WSEvents.GUILD_MEMBERS_CHUNK,
WSEvents.GUILD_MEMBER_ADD,
WSEvents.GUILD_MEMBER_REMOVE,
];
class WebSocketPacketManager {
@@ -16,43 +16,43 @@ class WebSocketPacketManager {
this.handlers = {};
this.queue = [];
this.register(Constants.WSEvents.READY, require('./handlers/Ready'));
this.register(Constants.WSEvents.RESUMED, require('./handlers/Resumed'));
this.register(Constants.WSEvents.GUILD_CREATE, require('./handlers/GuildCreate'));
this.register(Constants.WSEvents.GUILD_DELETE, require('./handlers/GuildDelete'));
this.register(Constants.WSEvents.GUILD_UPDATE, require('./handlers/GuildUpdate'));
this.register(Constants.WSEvents.GUILD_BAN_ADD, require('./handlers/GuildBanAdd'));
this.register(Constants.WSEvents.GUILD_BAN_REMOVE, require('./handlers/GuildBanRemove'));
this.register(Constants.WSEvents.GUILD_MEMBER_ADD, require('./handlers/GuildMemberAdd'));
this.register(Constants.WSEvents.GUILD_MEMBER_REMOVE, require('./handlers/GuildMemberRemove'));
this.register(Constants.WSEvents.GUILD_MEMBER_UPDATE, require('./handlers/GuildMemberUpdate'));
this.register(Constants.WSEvents.GUILD_ROLE_CREATE, require('./handlers/GuildRoleCreate'));
this.register(Constants.WSEvents.GUILD_ROLE_DELETE, require('./handlers/GuildRoleDelete'));
this.register(Constants.WSEvents.GUILD_ROLE_UPDATE, require('./handlers/GuildRoleUpdate'));
this.register(Constants.WSEvents.GUILD_EMOJIS_UPDATE, require('./handlers/GuildEmojisUpdate'));
this.register(Constants.WSEvents.GUILD_MEMBERS_CHUNK, require('./handlers/GuildMembersChunk'));
this.register(Constants.WSEvents.CHANNEL_CREATE, require('./handlers/ChannelCreate'));
this.register(Constants.WSEvents.CHANNEL_DELETE, require('./handlers/ChannelDelete'));
this.register(Constants.WSEvents.CHANNEL_UPDATE, require('./handlers/ChannelUpdate'));
this.register(Constants.WSEvents.CHANNEL_PINS_UPDATE, require('./handlers/ChannelPinsUpdate'));
this.register(Constants.WSEvents.PRESENCE_UPDATE, require('./handlers/PresenceUpdate'));
this.register(Constants.WSEvents.USER_UPDATE, require('./handlers/UserUpdate'));
this.register(Constants.WSEvents.USER_NOTE_UPDATE, require('./handlers/UserNoteUpdate'));
this.register(Constants.WSEvents.USER_SETTINGS_UPDATE, require('./handlers/UserSettingsUpdate'));
this.register(Constants.WSEvents.USER_GUILD_SETTINGS_UPDATE, require('./handlers/UserGuildSettingsUpdate'));
this.register(Constants.WSEvents.VOICE_STATE_UPDATE, require('./handlers/VoiceStateUpdate'));
this.register(Constants.WSEvents.TYPING_START, require('./handlers/TypingStart'));
this.register(Constants.WSEvents.MESSAGE_CREATE, require('./handlers/MessageCreate'));
this.register(Constants.WSEvents.MESSAGE_DELETE, require('./handlers/MessageDelete'));
this.register(Constants.WSEvents.MESSAGE_UPDATE, require('./handlers/MessageUpdate'));
this.register(Constants.WSEvents.MESSAGE_DELETE_BULK, require('./handlers/MessageDeleteBulk'));
this.register(Constants.WSEvents.VOICE_SERVER_UPDATE, require('./handlers/VoiceServerUpdate'));
this.register(Constants.WSEvents.GUILD_SYNC, require('./handlers/GuildSync'));
this.register(Constants.WSEvents.RELATIONSHIP_ADD, require('./handlers/RelationshipAdd'));
this.register(Constants.WSEvents.RELATIONSHIP_REMOVE, require('./handlers/RelationshipRemove'));
this.register(Constants.WSEvents.MESSAGE_REACTION_ADD, require('./handlers/MessageReactionAdd'));
this.register(Constants.WSEvents.MESSAGE_REACTION_REMOVE, require('./handlers/MessageReactionRemove'));
this.register(Constants.WSEvents.MESSAGE_REACTION_REMOVE_ALL, require('./handlers/MessageReactionRemoveAll'));
this.register(WSEvents.READY, require('./handlers/Ready'));
this.register(WSEvents.RESUMED, require('./handlers/Resumed'));
this.register(WSEvents.GUILD_CREATE, require('./handlers/GuildCreate'));
this.register(WSEvents.GUILD_DELETE, require('./handlers/GuildDelete'));
this.register(WSEvents.GUILD_UPDATE, require('./handlers/GuildUpdate'));
this.register(WSEvents.GUILD_BAN_ADD, require('./handlers/GuildBanAdd'));
this.register(WSEvents.GUILD_BAN_REMOVE, require('./handlers/GuildBanRemove'));
this.register(WSEvents.GUILD_MEMBER_ADD, require('./handlers/GuildMemberAdd'));
this.register(WSEvents.GUILD_MEMBER_REMOVE, require('./handlers/GuildMemberRemove'));
this.register(WSEvents.GUILD_MEMBER_UPDATE, require('./handlers/GuildMemberUpdate'));
this.register(WSEvents.GUILD_ROLE_CREATE, require('./handlers/GuildRoleCreate'));
this.register(WSEvents.GUILD_ROLE_DELETE, require('./handlers/GuildRoleDelete'));
this.register(WSEvents.GUILD_ROLE_UPDATE, require('./handlers/GuildRoleUpdate'));
this.register(WSEvents.GUILD_EMOJIS_UPDATE, require('./handlers/GuildEmojisUpdate'));
this.register(WSEvents.GUILD_MEMBERS_CHUNK, require('./handlers/GuildMembersChunk'));
this.register(WSEvents.CHANNEL_CREATE, require('./handlers/ChannelCreate'));
this.register(WSEvents.CHANNEL_DELETE, require('./handlers/ChannelDelete'));
this.register(WSEvents.CHANNEL_UPDATE, require('./handlers/ChannelUpdate'));
this.register(WSEvents.CHANNEL_PINS_UPDATE, require('./handlers/ChannelPinsUpdate'));
this.register(WSEvents.PRESENCE_UPDATE, require('./handlers/PresenceUpdate'));
this.register(WSEvents.USER_UPDATE, require('./handlers/UserUpdate'));
this.register(WSEvents.USER_NOTE_UPDATE, require('./handlers/UserNoteUpdate'));
this.register(WSEvents.USER_SETTINGS_UPDATE, require('./handlers/UserSettingsUpdate'));
this.register(WSEvents.USER_GUILD_SETTINGS_UPDATE, require('./handlers/UserGuildSettingsUpdate'));
this.register(WSEvents.VOICE_STATE_UPDATE, require('./handlers/VoiceStateUpdate'));
this.register(WSEvents.TYPING_START, require('./handlers/TypingStart'));
this.register(WSEvents.MESSAGE_CREATE, require('./handlers/MessageCreate'));
this.register(WSEvents.MESSAGE_DELETE, require('./handlers/MessageDelete'));
this.register(WSEvents.MESSAGE_UPDATE, require('./handlers/MessageUpdate'));
this.register(WSEvents.MESSAGE_DELETE_BULK, require('./handlers/MessageDeleteBulk'));
this.register(WSEvents.VOICE_SERVER_UPDATE, require('./handlers/VoiceServerUpdate'));
this.register(WSEvents.GUILD_SYNC, require('./handlers/GuildSync'));
this.register(WSEvents.RELATIONSHIP_ADD, require('./handlers/RelationshipAdd'));
this.register(WSEvents.RELATIONSHIP_REMOVE, require('./handlers/RelationshipRemove'));
this.register(WSEvents.MESSAGE_REACTION_ADD, require('./handlers/MessageReactionAdd'));
this.register(WSEvents.MESSAGE_REACTION_REMOVE, require('./handlers/MessageReactionRemove'));
this.register(WSEvents.MESSAGE_REACTION_REMOVE_ALL, require('./handlers/MessageReactionRemoveAll'));
}
get client() {
@@ -71,19 +71,19 @@ class WebSocketPacketManager {
}
handle(packet, queue = false) {
if (packet.op === Constants.OPCodes.HEARTBEAT_ACK) {
if (packet.op === OPCodes.HEARTBEAT_ACK) {
this.ws.client._pong(this.ws.client._pingTimestamp);
this.ws.lastHeartbeatAck = true;
this.ws.client.emit('debug', 'Heartbeat acknowledged');
} else if (packet.op === Constants.OPCodes.HEARTBEAT) {
} else if (packet.op === OPCodes.HEARTBEAT) {
this.client.ws.send({
op: Constants.OPCodes.HEARTBEAT,
op: OPCodes.HEARTBEAT,
d: this.client.ws.sequence,
});
this.ws.client.emit('debug', 'Received gateway heartbeat');
}
if (this.ws.status === Constants.Status.RECONNECTING) {
if (this.ws.status === Status.RECONNECTING) {
this.ws.reconnecting = false;
this.ws.checkIfReady();
}
@@ -92,7 +92,7 @@ class WebSocketPacketManager {
if (this.ws.disabledEvents[packet.t] !== undefined) return false;
if (this.ws.status !== Constants.Status.READY) {
if (this.ws.status !== Status.READY) {
if (BeforeReadyWhitelist.indexOf(packet.t) === -1) {
this.queue.push(packet);
return false;

View File

@@ -1,5 +1,5 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
/*
{ t: 'CHANNEL_PINS_UPDATE',
@@ -16,7 +16,7 @@ class ChannelPinsUpdate extends AbstractHandler {
const data = packet.d;
const channel = client.channels.get(data.channel_id);
const time = new Date(data.last_pin_timestamp);
if (channel && time) client.emit(Constants.Events.CHANNEL_PINS_UPDATE, channel, time);
if (channel && time) client.emit(Events.CHANNEL_PINS_UPDATE, channel, time);
}
}

View File

@@ -1,11 +1,11 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
class ChannelUpdateHandler extends AbstractHandler {
handle(packet) {
const { old, updated } = this.packetManager.client.actions.ChannelUpdate.handle(packet.d);
if (old && updated) {
this.packetManager.client.emit(Constants.Events.CHANNEL_UPDATE, old, updated);
this.packetManager.client.emit(Events.CHANNEL_UPDATE, old, updated);
}
}
}

View File

@@ -1,7 +1,7 @@
// ##untested handler##
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
class GuildBanAddHandler extends AbstractHandler {
handle(packet) {
@@ -9,7 +9,7 @@ class GuildBanAddHandler extends AbstractHandler {
const data = packet.d;
const guild = client.guilds.get(data.guild_id);
const user = client.users.get(data.user.id);
if (guild && user) client.emit(Constants.Events.GUILD_BAN_ADD, guild, user);
if (guild && user) client.emit(Events.GUILD_BAN_ADD, guild, user);
}
}

View File

@@ -1,5 +1,5 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events, Status } = require('../../../../util/Constants');
class GuildCreateHandler extends AbstractHandler {
async handle(packet) {
@@ -16,7 +16,7 @@ class GuildCreateHandler extends AbstractHandler {
} else {
// A new guild
guild = client.guilds.create(data);
const emitEvent = client.ws.connection.status === Constants.Status.READY;
const emitEvent = client.ws.connection.status === Status.READY;
if (emitEvent) {
/**
* Emitted whenever the client joins a guild.
@@ -24,7 +24,7 @@ class GuildCreateHandler extends AbstractHandler {
* @param {Guild} guild The created guild
*/
if (client.options.fetchAllMembers) await guild.members.fetch();
client.emit(Constants.Events.GUILD_CREATE, guild);
client.emit(Events.GUILD_CREATE, guild);
}
}
}

View File

@@ -1,7 +1,7 @@
// ##untested handler##
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events, Status } = require('../../../../util/Constants');
class GuildMemberAddHandler extends AbstractHandler {
handle(packet) {
@@ -11,8 +11,8 @@ class GuildMemberAddHandler extends AbstractHandler {
if (guild) {
guild.memberCount++;
const member = guild.members.create(data);
if (client.ws.connection.status === Constants.Status.READY) {
client.emit(Constants.Events.GUILD_MEMBER_ADD, member);
if (client.ws.connection.status === Status.READY) {
client.emit(Events.GUILD_MEMBER_ADD, member);
}
}
}

View File

@@ -1,7 +1,7 @@
// ##untested handler##
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events, Status } = require('../../../../util/Constants');
class GuildMemberUpdateHandler extends AbstractHandler {
handle(packet) {
@@ -12,14 +12,14 @@ class GuildMemberUpdateHandler extends AbstractHandler {
const member = guild.members.get(data.user.id);
if (member) {
const old = member._update(data);
if (client.ws.connection.status === Constants.Status.READY) {
if (client.ws.connection.status === Status.READY) {
/**
* Emitted whenever a guild member changes - i.e. new role, removed role, nickname.
* @event Client#guildMemberUpdate
* @param {GuildMember} oldMember The member before the update
* @param {GuildMember} newMember The member after the update
*/
client.emit(Constants.Events.GUILD_MEMBER_UPDATE, old, member);
client.emit(Events.GUILD_MEMBER_UPDATE, old, member);
}
}
}

View File

@@ -1,5 +1,5 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
const Collection = require('../../../../util/Collection');
class GuildMembersChunkHandler extends AbstractHandler {
@@ -12,7 +12,7 @@ class GuildMembersChunkHandler extends AbstractHandler {
for (const member of data.members) members.set(member.user.id, guild.members.create(member));
client.emit(Constants.Events.GUILD_MEMBERS_CHUNK, members, guild);
client.emit(Events.GUILD_MEMBERS_CHUNK, members, guild);
client.ws.lastHeartbeatAck = true;
}

View File

@@ -1,12 +1,12 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
class MessageReactionAddHandler extends AbstractHandler {
handle(packet) {
const client = this.packetManager.client;
const data = packet.d;
const { user, reaction } = client.actions.MessageReactionAdd.handle(data);
if (reaction) client.emit(Constants.Events.MESSAGE_REACTION_ADD, reaction, user);
if (reaction) client.emit(Events.MESSAGE_REACTION_ADD, reaction, user);
}
}

View File

@@ -1,11 +1,11 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
class MessageUpdateHandler extends AbstractHandler {
handle(packet) {
const { old, updated } = this.packetManager.client.actions.MessageUpdate.handle(packet.d);
if (old && updated) {
this.packetManager.client.emit(Constants.Events.MESSAGE_UPDATE, old, updated);
this.packetManager.client.emit(Events.MESSAGE_UPDATE, old, updated);
}
}
}

View File

@@ -1,5 +1,5 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
class PresenceUpdateHandler extends AbstractHandler {
handle(packet) {
@@ -19,7 +19,7 @@ class PresenceUpdateHandler extends AbstractHandler {
const oldUser = user._update(data.user);
if (!user.equals(oldUser)) {
client.emit(Constants.Events.USER_UPDATE, oldUser, user);
client.emit(Events.USER_UPDATE, oldUser, user);
}
if (guild) {
@@ -31,10 +31,10 @@ class PresenceUpdateHandler extends AbstractHandler {
deaf: false,
mute: false,
});
client.emit(Constants.Events.GUILD_MEMBER_AVAILABLE, member);
client.emit(Events.GUILD_MEMBER_AVAILABLE, member);
}
if (member) {
if (client.listenerCount(Constants.Events.PRESENCE_UPDATE) === 0) {
if (client.listenerCount(Events.PRESENCE_UPDATE) === 0) {
guild.presences.create(data);
return;
}
@@ -43,7 +43,7 @@ class PresenceUpdateHandler extends AbstractHandler {
oldMember.frozenPresence = member.presence._clone();
}
guild.presences.create(data);
client.emit(Constants.Events.PRESENCE_UPDATE, oldMember, member);
client.emit(Events.PRESENCE_UPDATE, oldMember, member);
} else {
guild.presences.create(data);
}

View File

@@ -1,5 +1,5 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
const ClientUser = require('../../../../structures/ClientUser');
class ReadyHandler extends AbstractHandler {
@@ -69,7 +69,7 @@ class ReadyHandler extends AbstractHandler {
ws.sessionID = data.session_id;
ws._trace = data._trace;
client.emit(Constants.Events.DEBUG, `READY ${ws._trace.join(' -> ')} ${ws.sessionID}`);
client.emit(Events.DEBUG, `READY ${ws._trace.join(' -> ')} ${ws.sessionID}`);
ws.checkIfReady();
}
}

View File

@@ -1,5 +1,5 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events, Status } = require('../../../../util/Constants');
class ResumedHandler extends AbstractHandler {
handle(packet) {
@@ -8,13 +8,13 @@ class ResumedHandler extends AbstractHandler {
ws._trace = packet.d._trace;
ws.status = Constants.Status.READY;
ws.status = Status.READY;
this.packetManager.handleQueue();
const replayed = ws.sequence - ws.closeSequence;
ws.debug(`RESUMED ${ws._trace.join(' -> ')} | replayed ${replayed} events.`);
client.emit(Constants.Events.RESUMED, replayed);
client.emit(Events.RESUMED, replayed);
ws.heartbeat();
}
}

View File

@@ -1,5 +1,5 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
class TypingStartHandler extends AbstractHandler {
handle(packet) {
@@ -11,7 +11,7 @@ class TypingStartHandler extends AbstractHandler {
if (channel && user) {
if (channel.type === 'voice') {
client.emit(Constants.Events.WARN, `Discord sent a typing packet to voice channel ${channel.id}`);
client.emit(Events.WARN, `Discord sent a typing packet to voice channel ${channel.id}`);
return;
}
if (channel._typing.has(user.id)) {
@@ -20,7 +20,7 @@ class TypingStartHandler extends AbstractHandler {
typing.resetTimeout(tooLate(channel, user));
} else {
channel._typing.set(user.id, new TypingData(client, timestamp, timestamp, tooLate(channel, user)));
client.emit(Constants.Events.TYPING_START, channel, user);
client.emit(Events.TYPING_START, channel, user);
}
}
}
@@ -46,7 +46,7 @@ class TypingData {
function tooLate(channel, user) {
return channel.client.setTimeout(() => {
channel.client.emit(Constants.Events.TYPING_STOP, channel, user, channel._typing.get(user.id));
channel.client.emit(Events.TYPING_STOP, channel, user, channel._typing.get(user.id));
channel._typing.delete(user.id);
}, 6000);
}

View File

@@ -1,5 +1,5 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
const ClientUserGuildSettings = require('../../../../structures/ClientUserGuildSettings');
class UserGuildSettingsUpdateHandler extends AbstractHandler {
@@ -8,7 +8,7 @@ class UserGuildSettingsUpdateHandler extends AbstractHandler {
const settings = client.user.guildSettings.get(packet.d.guild_id);
if (settings) settings.patch(packet.d);
else client.user.guildSettings.set(packet.d.guild_id, new ClientUserGuildSettings(this.client, packet.d));
client.emit(Constants.Events.USER_GUILD_SETTINGS_UPDATE, client.user.guildSettings.get(packet.d.guild_id));
client.emit(Events.USER_GUILD_SETTINGS_UPDATE, client.user.guildSettings.get(packet.d.guild_id));
}
}

View File

@@ -1,11 +1,11 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
class UserSettingsUpdateHandler extends AbstractHandler {
handle(packet) {
const client = this.packetManager.client;
client.user.settings.patch(packet.d);
client.emit(Constants.Events.USER_SETTINGS_UPDATE, client.user.settings);
client.emit(Events.USER_SETTINGS_UPDATE, client.user.settings);
}
}

View File

@@ -1,6 +1,6 @@
const AbstractHandler = require('./AbstractHandler');
const Constants = require('../../../../util/Constants');
const { Events } = require('../../../../util/Constants');
class VoiceStateUpdateHandler extends AbstractHandler {
handle(packet) {
@@ -20,7 +20,7 @@ class VoiceStateUpdateHandler extends AbstractHandler {
guild.voiceStates.set(member.user.id, data);
client.emit(Constants.Events.VOICE_STATE_UPDATE, oldMember, member);
client.emit(Events.VOICE_STATE_UPDATE, oldMember, member);
}
}
}