Moved to resolve destination

This commit is contained in:
hydrabolt
2015-08-26 13:01:59 +01:00
parent 07ad0db114
commit 2971eccbd2
2 changed files with 220 additions and 209 deletions

View File

@@ -528,6 +528,9 @@ var Client = (function () {
}); });
}); });
} }
}, {
key: "sendFile",
value: function sendFile(destination) {}
}, { }, {
key: "sendMessage", key: "sendMessage",
value: function sendMessage(destination, message) { value: function sendMessage(destination, message) {
@@ -540,7 +543,7 @@ var Client = (function () {
message = premessage + resolveMessage(message); message = premessage + resolveMessage(message);
var mentions = resolveMentions(); var mentions = resolveMentions();
destination = resolveDestination(destination); destination = self.resolveDestination(destination);
if (destination) send(); if (destination) send();
@@ -596,58 +599,6 @@ var Client = (function () {
}); });
} }
function resolveDestination() {
var channId = false;
if (destination instanceof Server) {
channId = destination.id; //general is the same as server id
} else if (destination instanceof Channel) {
channId = destination.id;
} else if (destination instanceof Message) {
channId = destination.channel.id;
} else if (destination instanceof User) {
//check if we have a PM
var _iteratorNormalCompletion4 = true;
var _didIteratorError4 = false;
var _iteratorError4 = undefined;
try {
for (var _iterator4 = self.pmChannelCache[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var pmc = _step4.value;
if (pmc.user.equals(destination)) {
return pmc.id;
}
}
//we don't, at this point we're late
} catch (err) {
_didIteratorError4 = true;
_iteratorError4 = err;
} finally {
try {
if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator4["return"]();
}
} finally {
if (_didIteratorError4) {
throw _iteratorError4;
}
}
}
self.startPM(destination).then(function (pmc) {
destination = pmc.id;
send();
});
} else {
channId = destination;
}
return channId;
}
function resolveMessage() { function resolveMessage() {
var msg = message; var msg = message;
if (message instanceof Array) { if (message instanceof Array) {
@@ -658,27 +609,27 @@ var Client = (function () {
function resolveMentions() { function resolveMentions() {
var _mentions = []; var _mentions = [];
var _iteratorNormalCompletion5 = true; var _iteratorNormalCompletion4 = true;
var _didIteratorError5 = false; var _didIteratorError4 = false;
var _iteratorError5 = undefined; var _iteratorError4 = undefined;
try { try {
for (var _iterator5 = (message.match(/<@[^>]*>/g) || [])[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { for (var _iterator4 = (message.match(/<@[^>]*>/g) || [])[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
var mention = _step5.value; var mention = _step4.value;
_mentions.push(mention.substring(2, mention.length - 1)); _mentions.push(mention.substring(2, mention.length - 1));
} }
} catch (err) { } catch (err) {
_didIteratorError5 = true; _didIteratorError4 = true;
_iteratorError5 = err; _iteratorError4 = err;
} finally { } finally {
try { try {
if (!_iteratorNormalCompletion5 && _iterator5["return"]) { if (!_iteratorNormalCompletion4 && _iterator4["return"]) {
_iterator5["return"](); _iterator4["return"]();
} }
} finally { } finally {
if (_didIteratorError5) { if (_didIteratorError4) {
throw _iteratorError5; throw _iteratorError4;
} }
} }
} }
@@ -731,15 +682,40 @@ var Client = (function () {
self.user = self.addUser(data.user); self.user = self.addUser(data.user);
var _iteratorNormalCompletion5 = true;
var _didIteratorError5 = false;
var _iteratorError5 = undefined;
try {
for (var _iterator5 = data.guilds[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) {
var _server = _step5.value;
var server = self.addServer(_server);
}
} catch (err) {
_didIteratorError5 = true;
_iteratorError5 = err;
} finally {
try {
if (!_iteratorNormalCompletion5 && _iterator5["return"]) {
_iterator5["return"]();
}
} finally {
if (_didIteratorError5) {
throw _iteratorError5;
}
}
}
var _iteratorNormalCompletion6 = true; var _iteratorNormalCompletion6 = true;
var _didIteratorError6 = false; var _didIteratorError6 = false;
var _iteratorError6 = undefined; var _iteratorError6 = undefined;
try { try {
for (var _iterator6 = data.guilds[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { for (var _iterator6 = data.private_channels[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) {
var _server = _step6.value; var _pmc = _step6.value;
var server = self.addServer(_server); var pmc = self.addPMChannel(_pmc);
} }
} catch (err) { } catch (err) {
_didIteratorError6 = true; _didIteratorError6 = true;
@@ -756,31 +732,6 @@ var Client = (function () {
} }
} }
var _iteratorNormalCompletion7 = true;
var _didIteratorError7 = false;
var _iteratorError7 = undefined;
try {
for (var _iterator7 = data.private_channels[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var _pmc = _step7.value;
var pmc = self.addPMChannel(_pmc);
}
} catch (err) {
_didIteratorError7 = true;
_iteratorError7 = err;
} finally {
try {
if (!_iteratorNormalCompletion7 && _iterator7["return"]) {
_iterator7["return"]();
}
} finally {
if (_didIteratorError7) {
throw _iteratorError7;
}
}
}
self.trigger("ready"); self.trigger("ready");
self.readyTime = Date.now(); self.readyTime = Date.now();
self.debug("cached " + self.serverCache.length + " servers, " + self.channelCache.length + " channels, " + self.pmChannelCache.length + " PMs and " + self.userCache.length + " users."); self.debug("cached " + self.serverCache.length + " servers, " + self.channelCache.length + " channels, " + self.pmChannelCache.length + " PMs and " + self.userCache.length + " users.");
@@ -795,27 +746,27 @@ var Client = (function () {
var mentions = []; var mentions = [];
data.mentions = data.mentions || []; //for some reason this was not defined at some point? data.mentions = data.mentions || []; //for some reason this was not defined at some point?
var _iteratorNormalCompletion8 = true; var _iteratorNormalCompletion7 = true;
var _didIteratorError8 = false; var _didIteratorError7 = false;
var _iteratorError8 = undefined; var _iteratorError7 = undefined;
try { try {
for (var _iterator8 = data.mentions[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { for (var _iterator7 = data.mentions[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) {
var mention = _step8.value; var mention = _step7.value;
mentions.push(self.addUser(mention)); mentions.push(self.addUser(mention));
} }
} catch (err) { } catch (err) {
_didIteratorError8 = true; _didIteratorError7 = true;
_iteratorError8 = err; _iteratorError7 = err;
} finally { } finally {
try { try {
if (!_iteratorNormalCompletion8 && _iterator8["return"]) { if (!_iteratorNormalCompletion7 && _iterator7["return"]) {
_iterator8["return"](); _iterator7["return"]();
} }
} finally { } finally {
if (_didIteratorError8) { if (_didIteratorError7) {
throw _iteratorError8; throw _iteratorError7;
} }
} }
} }
@@ -860,27 +811,27 @@ var Client = (function () {
} }
var mentions = []; var mentions = [];
var _iteratorNormalCompletion9 = true; var _iteratorNormalCompletion8 = true;
var _didIteratorError9 = false; var _didIteratorError8 = false;
var _iteratorError9 = undefined; var _iteratorError8 = undefined;
try { try {
for (var _iterator9 = info.mentions[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { for (var _iterator8 = info.mentions[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) {
var mention = _step9.value; var mention = _step8.value;
mentions.push(self.addUser(mention)); mentions.push(self.addUser(mention));
} }
} catch (err) { } catch (err) {
_didIteratorError9 = true; _didIteratorError8 = true;
_iteratorError9 = err; _iteratorError8 = err;
} finally { } finally {
try { try {
if (!_iteratorNormalCompletion9 && _iterator9["return"]) { if (!_iteratorNormalCompletion8 && _iterator8["return"]) {
_iterator9["return"](); _iterator8["return"]();
} }
} finally { } finally {
if (_didIteratorError9) { if (_didIteratorError8) {
throw _iteratorError9; throw _iteratorError8;
} }
} }
} }
@@ -1095,27 +1046,27 @@ var Client = (function () {
server = new Server(data, this); server = new Server(data, this);
this.serverCache.push(server); this.serverCache.push(server);
if (data.channels) { if (data.channels) {
var _iteratorNormalCompletion10 = true; var _iteratorNormalCompletion9 = true;
var _didIteratorError10 = false; var _didIteratorError9 = false;
var _iteratorError10 = undefined; var _iteratorError9 = undefined;
try { try {
for (var _iterator10 = data.channels[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { for (var _iterator9 = data.channels[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) {
var channel = _step10.value; var channel = _step9.value;
server.channels.push(this.addChannel(channel, server.id)); server.channels.push(this.addChannel(channel, server.id));
} }
} catch (err) { } catch (err) {
_didIteratorError10 = true; _didIteratorError9 = true;
_iteratorError10 = err; _iteratorError9 = err;
} finally { } finally {
try { try {
if (!_iteratorNormalCompletion10 && _iterator10["return"]) { if (!_iteratorNormalCompletion9 && _iterator9["return"]) {
_iterator10["return"](); _iterator9["return"]();
} }
} finally { } finally {
if (_didIteratorError10) { if (_didIteratorError9) {
throw _iteratorError10; throw _iteratorError9;
} }
} }
} }
@@ -1129,16 +1080,50 @@ var Client = (function () {
}, { }, {
key: "getUser", key: "getUser",
value: function getUser(key, value) { value: function getUser(key, value) {
var _iteratorNormalCompletion10 = true;
var _didIteratorError10 = false;
var _iteratorError10 = undefined;
try {
for (var _iterator10 = this.userCache[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) {
var user = _step10.value;
if (user[key] === value) {
return user;
}
}
} catch (err) {
_didIteratorError10 = true;
_iteratorError10 = err;
} finally {
try {
if (!_iteratorNormalCompletion10 && _iterator10["return"]) {
_iterator10["return"]();
}
} finally {
if (_didIteratorError10) {
throw _iteratorError10;
}
}
}
return null;
}
//def getChannel
}, {
key: "getChannel",
value: function getChannel(key, value) {
var _iteratorNormalCompletion11 = true; var _iteratorNormalCompletion11 = true;
var _didIteratorError11 = false; var _didIteratorError11 = false;
var _iteratorError11 = undefined; var _iteratorError11 = undefined;
try { try {
for (var _iterator11 = this.userCache[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 user = _step11.value; var channel = _step11.value;
if (user[key] === value) { if (channel[key] === value) {
return user; return channel;
} }
} }
} catch (err) { } catch (err) {
@@ -1156,19 +1141,17 @@ var Client = (function () {
} }
} }
return null; return this.getPMChannel(key, value); //might be a PM
} }
//def getChannel
}, { }, {
key: "getChannel", key: "getPMChannel",
value: function getChannel(key, value) { value: function getPMChannel(key, value) {
var _iteratorNormalCompletion12 = true; var _iteratorNormalCompletion12 = true;
var _didIteratorError12 = false; var _didIteratorError12 = false;
var _iteratorError12 = undefined; var _iteratorError12 = undefined;
try { try {
for (var _iterator12 = this.channelCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) { for (var _iterator12 = this.pmChannelCache[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) {
var channel = _step12.value; var channel = _step12.value;
if (channel[key] === value) { if (channel[key] === value) {
@@ -1190,21 +1173,23 @@ var Client = (function () {
} }
} }
return this.getPMChannel(key, value); //might be a PM return null;
} }
//def getServer
}, { }, {
key: "getPMChannel", key: "getServer",
value: function getPMChannel(key, value) { value: function getServer(key, value) {
var _iteratorNormalCompletion13 = true; var _iteratorNormalCompletion13 = true;
var _didIteratorError13 = false; var _didIteratorError13 = false;
var _iteratorError13 = undefined; var _iteratorError13 = undefined;
try { try {
for (var _iterator13 = this.pmChannelCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) { for (var _iterator13 = this.serverCache[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) {
var channel = _step13.value; var server = _step13.value;
if (channel[key] === value) { if (server[key] === value) {
return channel; return server;
} }
} }
} catch (err) { } catch (err) {
@@ -1225,40 +1210,6 @@ var Client = (function () {
return null; return null;
} }
//def getServer
}, {
key: "getServer",
value: function getServer(key, value) {
var _iteratorNormalCompletion14 = true;
var _didIteratorError14 = false;
var _iteratorError14 = undefined;
try {
for (var _iterator14 = this.serverCache[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) {
var server = _step14.value;
if (server[key] === value) {
return server;
}
}
} catch (err) {
_didIteratorError14 = true;
_iteratorError14 = err;
} finally {
try {
if (!_iteratorNormalCompletion14 && _iterator14["return"]) {
_iterator14["return"]();
}
} finally {
if (_didIteratorError14) {
throw _iteratorError14;
}
}
}
return null;
}
//def trySendConnData //def trySendConnData
}, { }, {
key: "trySendConnData", key: "trySendConnData",
@@ -1295,6 +1246,60 @@ var Client = (function () {
return resource; return resource;
} }
} }
}, {
key: "resolveDestination",
value: function resolveDestination(destination) {
var channId = false;
var self = this;
return new Promise(function (resolve, reject) {
if (destination instanceof Server) {
channId = destination.id; //general is the same as server id
} else if (destination instanceof Channel) {
channId = destination.id;
} else if (destination instanceof Message) {
channId = destination.channel.id;
} else if (destination instanceof User) {
//check if we have a PM
var _iteratorNormalCompletion14 = true;
var _didIteratorError14 = false;
var _iteratorError14 = undefined;
try {
for (var _iterator14 = self.pmChannelCache[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) {
var pmc = _step14.value;
if (pmc.user.equals(destination)) {
return pmc.id;
}
}
//we don't, at this point we're late
} catch (err) {
_didIteratorError14 = true;
_iteratorError14 = err;
} finally {
try {
if (!_iteratorNormalCompletion14 && _iterator14["return"]) {
_iterator14["return"]();
}
} finally {
if (_didIteratorError14) {
throw _iteratorError14;
}
}
}
self.startPM(destination).then(function (pmc) {
resolve(pmc.id);
})["catch"](reject);
} else {
channId = destination;
}
if (channId) resolve(channId);
});
}
}, { }, {
key: "uptime", key: "uptime",
get: function get() { get: function get() {

View File

@@ -72,7 +72,7 @@ class Client {
get users() { get users() {
return this.userCache; return this.userCache;
} }
get PMChannels() { get PMChannels() {
return this.pmChannelCache; return this.pmChannelCache;
} }
@@ -543,6 +543,10 @@ class Client {
} }
sendFile(destination) {
}
sendMessage(destination, message, callback = function (err, msg) { }, premessage = "") { sendMessage(destination, message, callback = function (err, msg) { }, premessage = "") {
var self = this; var self = this;
@@ -551,7 +555,7 @@ class Client {
message = premessage + resolveMessage(message); message = premessage + resolveMessage(message);
var mentions = resolveMentions(); var mentions = resolveMentions();
destination = resolveDestination(destination); destination = self.resolveDestination(destination);
if (destination) if (destination)
send(); send();
@@ -593,37 +597,6 @@ class Client {
} }
function resolveDestination() {
var channId = false;
if (destination instanceof Server) {
channId = destination.id; //general is the same as server id
} else if (destination instanceof Channel) {
channId = destination.id;
} else if (destination instanceof Message) {
channId = destination.channel.id;
} else if (destination instanceof User) {
//check if we have a PM
for (var pmc of self.pmChannelCache) {
if (pmc.user.equals(destination)) {
return pmc.id;
}
}
//we don't, at this point we're late
self.startPM(destination).then(function (pmc) {
destination = pmc.id;
send();
});
} else {
channId = destination;
}
return channId;
}
function resolveMessage() { function resolveMessage() {
var msg = message; var msg = message;
if (message instanceof Array) { if (message instanceof Array) {
@@ -1049,6 +1022,39 @@ class Client {
} }
resolveDestination(destination) {
var channId = false;
var self = this;
return new Promise(function (resolve, reject) {
if (destination instanceof Server) {
channId = destination.id; //general is the same as server id
} else if (destination instanceof Channel) {
channId = destination.id;
} else if (destination instanceof Message) {
channId = destination.channel.id;
} else if (destination instanceof User) {
//check if we have a PM
for (var pmc of self.pmChannelCache) {
if (pmc.user.equals(destination)) {
return pmc.id;
}
}
//we don't, at this point we're late
self.startPM(destination).then(function (pmc) {
resolve(pmc.id);
}).catch(reject);
} else {
channId = destination;
}
if(channId)
resolve(channId);
});
}
} }
module.exports = Client; module.exports = Client;