Change how presences are handled

This commit is contained in:
Amish Shah
2016-09-25 14:15:58 +01:00
parent 0e8f1bef97
commit 03651fd6e3
11 changed files with 169 additions and 90 deletions

View File

@@ -9,6 +9,7 @@ const ClientVoiceManager = require('./voice/ClientVoiceManager');
const WebSocketManager = require('./websocket/WebSocketManager');
const ActionsManager = require('./actions/ActionsManager');
const Collection = require('../util/Collection');
const Presence = require('../structures/Presence');
/**
* The starting point for making a Discord Bot.
@@ -102,6 +103,13 @@ class Client extends EventEmitter {
*/
this.channels = new Collection();
/**
* A Collection of presences for friends of the logged in user.
* <warn>This is only present for user accounts, not bot accounts!</warn>
* @type {Collection<string, Presence>}
*/
this.presences = new Collection();
/**
* The authorization token for the logged in user/bot.
* @type {?string}
@@ -333,6 +341,14 @@ class Client extends EventEmitter {
clearInterval(interval);
this._intervals.delete(interval);
}
_setPresence(id, presence) {
if (this.presences.get(id)) {
this.presences.get(id).update(presence);
return;
}
this.presences.set(id, new Presence(presence));
}
}
module.exports = Client;