diff --git a/lib/Client.js b/lib/Client.js index eff03e5aa..b80665556 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -1144,6 +1144,7 @@ var Client = (function () { key: "addServer", value: function addServer(data) { + var self = this; var server = this.getServer("id", data.id); if (!server) { @@ -1177,24 +1178,15 @@ var Client = (function () { } } - return server; - } - - //def getUser - }, { - key: "getUser", - value: function getUser(key, value) { var _iteratorNormalCompletion9 = true; var _didIteratorError9 = false; var _iteratorError9 = undefined; try { - for (var _iterator9 = this.userCache[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { - var user = _step9.value; + for (var _iterator9 = data.presences[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { + var presence = _step9.value; - if (user[key] === value) { - return user; - } + self.getUser("id", presence.user.id).status = presence.status; } } catch (err) { _didIteratorError9 = true; @@ -1211,23 +1203,23 @@ var Client = (function () { } } - return null; + return server; } - //def getChannel + //def getUser }, { - key: "getChannel", - value: function getChannel(key, value) { + key: "getUser", + value: function getUser(key, value) { var _iteratorNormalCompletion10 = true; var _didIteratorError10 = false; var _iteratorError10 = undefined; try { - for (var _iterator10 = this.channelCache[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { - var channel = _step10.value; + for (var _iterator10 = this.userCache[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { + var user = _step10.value; - if (channel[key] === value) { - return channel; + if (user[key] === value) { + return user; } } } catch (err) { @@ -1245,17 +1237,19 @@ var Client = (function () { } } - return this.getPMChannel(key, value); //might be a PM + return null; } + + //def getChannel }, { - key: "getPMChannel", - value: function getPMChannel(key, value) { + key: "getChannel", + value: function getChannel(key, value) { var _iteratorNormalCompletion11 = true; var _didIteratorError11 = false; var _iteratorError11 = undefined; try { - for (var _iterator11 = this.pmChannelCache[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) { + for (var _iterator11 = this.channelCache[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) { var channel = _step11.value; if (channel[key] === value) { @@ -1277,23 +1271,21 @@ var Client = (function () { } } - return null; + return this.getPMChannel(key, value); //might be a PM } - - //def getServer }, { - key: "getServer", - value: function getServer(key, value) { + key: "getPMChannel", + value: function getPMChannel(key, value) { var _iteratorNormalCompletion12 = true; var _didIteratorError12 = false; var _iteratorError12 = undefined; try { - for (var _iterator12 = this.serverCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) { - var server = _step12.value; + for (var _iterator12 = this.pmChannelCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) { + var channel = _step12.value; - if (server[key] === value) { - return server; + if (channel[key] === value) { + return channel; } } } catch (err) { @@ -1314,6 +1306,40 @@ var Client = (function () { return null; } + //def getServer + }, { + key: "getServer", + value: function getServer(key, value) { + var _iteratorNormalCompletion13 = true; + var _didIteratorError13 = false; + var _iteratorError13 = undefined; + + try { + for (var _iterator13 = this.serverCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) { + var server = _step13.value; + + if (server[key] === value) { + return server; + } + } + } catch (err) { + _didIteratorError13 = true; + _iteratorError13 = err; + } finally { + try { + if (!_iteratorNormalCompletion13 && _iterator13["return"]) { + _iterator13["return"](); + } + } finally { + if (_didIteratorError13) { + throw _iteratorError13; + } + } + } + + return null; + } + //def trySendConnData }, { key: "trySendConnData", @@ -1366,13 +1392,13 @@ var Client = (function () { } else if (destination instanceof User) { //check if we have a PM - var _iteratorNormalCompletion13 = true; - var _didIteratorError13 = false; - var _iteratorError13 = undefined; + var _iteratorNormalCompletion14 = true; + var _didIteratorError14 = false; + var _iteratorError14 = undefined; try { - for (var _iterator13 = self.pmChannelCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) { - var pmc = _step13.value; + for (var _iterator14 = self.pmChannelCache[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) { + var pmc = _step14.value; if (pmc.user.equals(destination)) { resolve(pmc.id); @@ -1382,16 +1408,16 @@ var Client = (function () { //we don't, at this point we're late } catch (err) { - _didIteratorError13 = true; - _iteratorError13 = err; + _didIteratorError14 = true; + _iteratorError14 = err; } finally { try { - if (!_iteratorNormalCompletion13 && _iterator13["return"]) { - _iterator13["return"](); + if (!_iteratorNormalCompletion14 && _iterator14["return"]) { + _iterator14["return"](); } } finally { - if (_didIteratorError13) { - throw _iteratorError13; + if (_didIteratorError14) { + throw _iteratorError14; } } } @@ -1428,27 +1454,27 @@ var Client = (function () { data.mentions = data.mentions || []; //for some reason this was not defined at some point? - var _iteratorNormalCompletion14 = true; - var _didIteratorError14 = false; - var _iteratorError14 = undefined; + var _iteratorNormalCompletion15 = true; + var _didIteratorError15 = false; + var _iteratorError15 = undefined; try { - for (var _iterator14 = data.mentions[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) { - var mention = _step14.value; + for (var _iterator15 = data.mentions[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) { + var mention = _step15.value; mentions.push(self.addUser(mention)); } } catch (err) { - _didIteratorError14 = true; - _iteratorError14 = err; + _didIteratorError15 = true; + _iteratorError15 = err; } finally { try { - if (!_iteratorNormalCompletion14 && _iterator14["return"]) { - _iterator14["return"](); + if (!_iteratorNormalCompletion15 && _iterator15["return"]) { + _iterator15["return"](); } } finally { - if (_didIteratorError14) { - throw _iteratorError14; + if (_didIteratorError15) { + throw _iteratorError15; } } } @@ -1650,27 +1676,27 @@ var Client = (function () { get: function get() { var msgs = []; - var _iteratorNormalCompletion15 = true; - var _didIteratorError15 = false; - var _iteratorError15 = undefined; + var _iteratorNormalCompletion16 = true; + var _didIteratorError16 = false; + var _iteratorError16 = undefined; try { - for (var _iterator15 = this.channelCache[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) { - var channel = _step15.value; + for (var _iterator16 = this.channelCache[Symbol.iterator](), _step16; !(_iteratorNormalCompletion16 = (_step16 = _iterator16.next()).done); _iteratorNormalCompletion16 = true) { + var channel = _step16.value; msgs = msgs.concat(channel.messages); } } catch (err) { - _didIteratorError15 = true; - _iteratorError15 = err; + _didIteratorError16 = true; + _iteratorError16 = err; } finally { try { - if (!_iteratorNormalCompletion15 && _iterator15["return"]) { - _iterator15["return"](); + if (!_iteratorNormalCompletion16 && _iterator16["return"]) { + _iterator16["return"](); } } finally { - if (_didIteratorError15) { - throw _iteratorError15; + if (_didIteratorError16) { + throw _iteratorError16; } } } diff --git a/lib/channel.js b/lib/channel.js index 79bc71b55..8e9ca5703 100644 --- a/lib/channel.js +++ b/lib/channel.js @@ -24,9 +24,15 @@ var Channel = (function () { }, { key: "addMessage", value: function addMessage(data) { + + if (this.messages.length > 1000) { + this.messages.splice(0, 1); + } + if (!this.getMessage("id", data.id)) { this.messages.push(data); } + return this.getMessage("id", data.id); } }, { diff --git a/lib/user.js b/lib/user.js index 2f363dd1e..5e38e132e 100644 --- a/lib/user.js +++ b/lib/user.js @@ -12,6 +12,7 @@ var User = (function () { this.discriminator = data.discriminator; this.id = data.id; this.avatar = data.avatar; + this.status = "offline"; } // access using user.avatarURL; diff --git a/src/Client.js b/src/Client.js index f7919a653..09a3f004c 100644 --- a/src/Client.js +++ b/src/Client.js @@ -1044,6 +1044,7 @@ class Client { //def addServer addServer(data) { + var self = this; var server = this.getServer("id", data.id); if (!server) { @@ -1055,6 +1056,10 @@ class Client { } } } + + for(var presence of data.presences){ + self.getUser("id", presence.user.id).status = presence.status; + } return server; } diff --git a/src/user.js b/src/user.js index 375ec7c60..73eef604f 100644 --- a/src/user.js +++ b/src/user.js @@ -4,6 +4,7 @@ class User{ this.discriminator = data.discriminator; this.id = data.id; this.avatar = data.avatar; + this.status = "offline"; } // access using user.avatarURL;