Add support for notes (#860)

* Add support for notes

* Ensure consistency with notes from ready payload

* Add getter method for users

* Minor tweaks

* Update warning messages

* More minor fixes
This commit is contained in:
Programmix
2016-10-30 20:06:09 -07:00
committed by Schuyler Cebulskie
parent a673a97441
commit 6dc95cd084
9 changed files with 92 additions and 0 deletions

View File

@@ -33,6 +33,7 @@ class WebSocketPacketManager {
this.register(Constants.WSEvents.CHANNEL_UPDATE, 'ChannelUpdate');
this.register(Constants.WSEvents.PRESENCE_UPDATE, 'PresenceUpdate');
this.register(Constants.WSEvents.USER_UPDATE, 'UserUpdate');
this.register(Constants.WSEvents.USER_NOTE_UPDATE, 'UserNoteUpdate');
this.register(Constants.WSEvents.VOICE_STATE_UPDATE, 'VoiceStateUpdate');
this.register(Constants.WSEvents.TYPING_START, 'TypingStart');
this.register(Constants.WSEvents.MESSAGE_CREATE, 'MessageCreate');

View File

@@ -31,6 +31,15 @@ class ReadyHandler extends AbstractHandler {
client._setPresence(presence.user.id, presence);
}
if (data.notes) {
for (const user in data.notes) {
let note = data.notes[user];
if (!note.length) note = null;
client.user.notes.set(user, note);
}
}
if (!client.user.bot && client.options.sync) client.setInterval(client.syncGuilds.bind(client), 30000);
client.once('ready', client.syncGuilds.bind(client));

View File

@@ -0,0 +1,12 @@
const AbstractHandler = require('./AbstractHandler');
class UserNoteUpdateHandler extends AbstractHandler {
handle(packet) {
const client = this.packetManager.client;
const data = packet.d;
client.actions.UserNoteUpdate.handle(data);
}
}
module.exports = UserNoteUpdateHandler;