From dff1d267c055b3e0a9dd03e00aba29d1abedf60a Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Mon, 24 Aug 2015 22:41:57 +0100 Subject: [PATCH] watch channel/server create --- lib/Client.js | 167 +++++++++++++++++++++++++++++++++----------------- src/Client.js | 36 +++++++++++ 2 files changed, 147 insertions(+), 56 deletions(-) diff --git a/lib/Client.js b/lib/Client.js index a707d366d..ef02342ad 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -375,6 +375,61 @@ var Client = (function () { break; + case "GUILD_CREATE": + + var server = self.getServer("id", data.id); + + if (!server) { + //if server doesn't already exist because duh + + var serv = self.addServer(data); + + var _iteratorNormalCompletion5 = true; + var _didIteratorError5 = false; + var _iteratorError5 = undefined; + + try { + for (var _iterator5 = data.channels[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + var channel = _step5.value; + + serv.channels.push(self.addChannel(channel, serv.id)); + } + } catch (err) { + _didIteratorError5 = true; + _iteratorError5 = err; + } finally { + try { + if (!_iteratorNormalCompletion5 && _iterator5["return"]) { + _iterator5["return"](); + } + } finally { + if (_didIteratorError5) { + throw _iteratorError5; + } + } + } + } + + self.trigger("serverCreate", server); + + break; + + case "CHANNEL_CREATE": + + var channel = self.getChannel("id", data.id); + + if (!channel) { + + var chann = self.addChannel(data, data.guild_id); + var srv = self.getServer("id", data.guild_id); + if (srv) { + srv.channels.push(chann); + } + self.trigger("channelCreate", chann); + } + + break; + default: self.debug("received unknown packet"); self.trigger("unknown", dat); @@ -418,50 +473,16 @@ var Client = (function () { }, { key: "getUser", value: function getUser(key, value) { - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; - - try { - for (var _iterator5 = this.userCache[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var user = _step5.value; - - if (user[key] === value) { - return user; - } - } - } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; - } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5["return"]) { - _iterator5["return"](); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } - } - - return null; - } - - //def getChannel - }, { - key: "getChannel", - value: function getChannel(key, value) { var _iteratorNormalCompletion6 = true; var _didIteratorError6 = false; var _iteratorError6 = undefined; try { - for (var _iterator6 = this.channelCache[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var channel = _step6.value; + for (var _iterator6 = this.userCache[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + var user = _step6.value; - if (channel[key] === value) { - return channel; + if (user[key] === value) { + return user; } } } catch (err) { @@ -482,20 +503,20 @@ var Client = (function () { return null; } - //def getServer + //def getChannel }, { - key: "getServer", - value: function getServer(key, value) { + key: "getChannel", + value: function getChannel(key, value) { var _iteratorNormalCompletion7 = true; var _didIteratorError7 = false; var _iteratorError7 = undefined; try { - for (var _iterator7 = this.serverCache[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { - var server = _step7.value; + for (var _iterator7 = this.channelCache[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { + var channel = _step7.value; - if (server[key] === value) { - return server; + if (channel[key] === value) { + return channel; } } } catch (err) { @@ -516,6 +537,40 @@ var Client = (function () { return null; } + //def getServer + }, { + key: "getServer", + value: function getServer(key, value) { + var _iteratorNormalCompletion8 = true; + var _didIteratorError8 = false; + var _iteratorError8 = undefined; + + try { + for (var _iterator8 = this.serverCache[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { + var server = _step8.value; + + if (server[key] === value) { + return server; + } + } + } catch (err) { + _didIteratorError8 = true; + _iteratorError8 = err; + } finally { + try { + if (!_iteratorNormalCompletion8 && _iterator8["return"]) { + _iterator8["return"](); + } + } finally { + if (_didIteratorError8) { + throw _iteratorError8; + } + } + } + + return null; + } + //def trySendConnData }, { key: "trySendConnData", @@ -573,27 +628,27 @@ var Client = (function () { get: function get() { var msgs = []; - var _iteratorNormalCompletion8 = true; - var _didIteratorError8 = false; - var _iteratorError8 = undefined; + var _iteratorNormalCompletion9 = true; + var _didIteratorError9 = false; + var _iteratorError9 = undefined; try { - for (var _iterator8 = this.channelCache[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { - var channel = _step8.value; + for (var _iterator9 = this.channelCache[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { + var channel = _step9.value; msgs = msgs.concat(channel.messages); } } catch (err) { - _didIteratorError8 = true; - _iteratorError8 = err; + _didIteratorError9 = true; + _iteratorError9 = err; } finally { try { - if (!_iteratorNormalCompletion8 && _iterator8["return"]) { - _iterator8["return"](); + if (!_iteratorNormalCompletion9 && _iterator9["return"]) { + _iterator9["return"](); } } finally { - if (_didIteratorError8) { - throw _iteratorError8; + if (_didIteratorError9) { + throw _iteratorError9; } } } diff --git a/src/Client.js b/src/Client.js index 314136ac9..b5ec12bc5 100644 --- a/src/Client.js +++ b/src/Client.js @@ -306,6 +306,42 @@ class Client { break; + case "GUILD_CREATE": + + var server = self.getServer("id", data.id); + + if(!server){ + //if server doesn't already exist because duh + + var serv = self.addServer(data); + + for (var channel of data.channels) { + serv.channels.push(self.addChannel(channel, serv.id)); + } + + } + + self.trigger("serverCreate", server); + + break; + + case "CHANNEL_CREATE": + + var channel = self.getChannel("id", data.id); + + if(!channel){ + + var chann = self.addChannel( data, data.guild_id ); + var srv = self.getServer( "id", data.guild_id ); + if(srv){ + srv.channels.push( chann ); + } + self.trigger("channelCreate", chann); + + } + + break; + default: self.debug("received unknown packet"); self.trigger("unknown", dat);