Fixed start PM

This commit is contained in:
hydrabolt
2015-10-31 23:46:46 +00:00
parent 6d6dcf533a
commit 3c16a9f2a4
8 changed files with 35 additions and 71 deletions

View File

@@ -126,7 +126,9 @@ var InternalClient = (function () {
if (user) {
// start the PM
request.post("" + Endpoints.USER_CHANNELS(user.id)).set("authorization", self.token).end(function (err, res) {
request.post("" + Endpoints.USER_CHANNELS(user.id)).set("authorization", self.token).send({
recipient_id: user.id
}).end(function (err, res) {
if (err) {
reject(new Error(err.response.text));
} else {
@@ -160,7 +162,7 @@ var InternalClient = (function () {
return new Promise(function (resolve, reject) {
self.resolver.resolveChannel(where).then(next)["catch"](function (e) {
return reject(new Error("Error resolving destination"));
return reject(new Error("Error resolving destination - " + e));
});
function next(destination) {
@@ -336,39 +338,6 @@ var InternalClient = (function () {
client.emit("warn", "message created but channel is not cached");
}
break;
case PacketType.MESSAGE_DELETE:
// format https://discordapi.readthedocs.org/en/latest/reference/channels/messages.html#message-delete
var channel = self.channels.get("id", data.channel_id);
if (channel) {
// potentially blank
var msg = channel.messages.get("id", data.id);
client.emit("messageDeleted", msg);
if(msg){
channel.messages.remove(msg);
}
} else {
client.emit("warn", "message was deleted but channel is not cached");
}
break;
case PacketType.MESSAGE_UPDATE:
// format https://discordapi.readthedocs.org/en/latest/reference/channels/messages.html#message-format
var channel = self.channels.get("id", data.channel_id);
if (channel) {
// potentially blank
var msg = channel.messages.get("id", data.id);
if(msg){
// old message exists
var nmsg = channel.messages.update(msg, new Message(data, channel, client));
client.emit("messageUpdated", nmsg, msg);
}else{
var nmsg = channel.messages.add(new Message(data, channel, client));
client.emit("messageUpdated", nmsg);
}
} else {
client.emit("warn", "message was updated but channel is not cached");
}
break;
}
};

View File

@@ -12,10 +12,10 @@ var User = require("../../Structures/User.js"),
Message = require("../../Structures/Message.js");
var Resolver = (function () {
function Resolver(client) {
function Resolver(internal) {
_classCallCheck(this, Resolver);
this.client = client;
this.internal = internal;
}
Resolver.prototype.resolveMentions = function resolveMentions(resource) {
@@ -58,7 +58,9 @@ var Resolver = (function () {
accepts a Message, Channel, Server, String ID, User, PMChannel
*/
var found = null;
if (resource instanceof Message) {
if (resource instanceof User) {
found = resource;
} else if (resource instanceof Message) {
found = resource.author;
} else if (resource instanceof TextChannel) {
var lmsg = resource.lastMessage;
@@ -104,11 +106,11 @@ var Resolver = (function () {
} else if (resource instanceof Server) {
found = resource.channels.get("id", resource.id);
} else if (resource instanceof String || typeof resource === "string") {
found = self.client.internal.channels.get("id", resource);
found = self.internal.channels.get("id", resource);
} else if (resource instanceof User) {
// see if a PM exists
var chatFound = false;
for (var _iterator2 = self.client.internal.private_channels, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
for (var _iterator2 = self.internal.private_channels, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) {
var _ref2;
if (_isArray2) {
@@ -132,7 +134,7 @@ var Resolver = (function () {
found = chatFound;
} else {
// PM does not exist :\
self.client.internal.startPM(resource).then(function (pmchannel) {
self.internal.startPM(resource).then(function (pmchannel) {
return resolve(pmchannel);
})["catch"](function (e) {
return reject(e);