mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-11 17:13:31 +01:00
refactor: make use of destructuring for Constants (#1942)
This commit is contained in:
@@ -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,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user