diff --git a/lib/Client.js b/lib/Client.js index 2d0ba4a34..cc86f6f87 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -1013,7 +1013,12 @@ var Client = (function () { if (!channel) { - var chann = self.addChannel(data, data.guild_id); + var chann; + if (data.is_private) { + chann = self.addPMChannel(data); + } else { + chann = self.addChannel(data, data.guild_id); + } var srv = self.getServer("id", data.guild_id); if (srv) { srv.addChannel(chann); @@ -1507,7 +1512,7 @@ var Client = (function () { for (var _iterator14 = self.pmChannelCache[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) { var pmc = _step14.value; - if (pmc.user.equals(destination)) { + if (pmc.user && pmc.user.equals(destination)) { resolve(pmc.id); return; } diff --git a/src/Client.js b/src/Client.js index 79da43ec1..ad9b33524 100644 --- a/src/Client.js +++ b/src/Client.js @@ -920,7 +920,12 @@ class Client { if (!channel) { - var chann = self.addChannel(data, data.guild_id); + var chann; + if (data.is_private) { + chann = self.addPMChannel(data); + } else { + chann = self.addChannel(data, data.guild_id); + } var srv = self.getServer("id", data.guild_id); if (srv) { srv.addChannel(chann); @@ -1268,7 +1273,7 @@ class Client { //check if we have a PM for (var pmc of self.pmChannelCache) { - if (pmc.user.equals(destination)) { + if (pmc.user && pmc.user.equals(destination)) { resolve(pmc.id); return; }