Added updateMessage

This commit is contained in:
hydrabolt
2015-10-31 23:23:48 +00:00
parent a333548c00
commit 4b4b7d6a47
8 changed files with 180 additions and 36 deletions

View File

@@ -129,7 +129,7 @@ class Client extends EventEmitter {
});
});
}
// def deleteMessage
deleteMessage(msg, options = {}, callback = function (e) { }) {
var self = this;
return new Promise((resolve, reject) => {
@@ -150,6 +150,27 @@ class Client extends EventEmitter {
});
}
//def updateMessage
updateMessage(msg, content, options = {}, callback = function(err, msg){}) {
var self = this;
return new Promise((resolve, reject) => {
if (typeof options === "function") {
// options is the callback
callback = options;
}
self.internal.updateMessage(msg, content, options)
.then(msg => {
callback(null, msg);
resolve(msg);
})
.catch(e => {
callback(e);
reject(e);
});
});
}
}
module.exports = Client;

View File

@@ -202,7 +202,7 @@ class InternalClient {
});
}
// def deleteMessage
deleteMessage(_message, options = {}) {
var self = this;
return new Promise((resolve, reject) => {
@@ -211,13 +211,13 @@ class InternalClient {
if (message) {
if(options.wait){
if (options.wait) {
setTimeout(deleteMsg, options.wait);
}else{
} else {
deleteMsg();
}
function deleteMsg(){
function deleteMsg() {
request
.del(Endpoints.CHANNEL_MESSAGE(message.channel.id, message.id))
.set("authorization", self.token)
@@ -230,13 +230,53 @@ class InternalClient {
}
});
}
}else {
} else {
reject(new Error("Supplied message did not resolve to a message!"));
}
});
}
// def updateMessage
updateMessage(msg, _content, options = {}) {
var self = this;
return new Promise((resolve, reject) => {
var message = self.resolver.resolveMessage(msg);
if (message) {
var content = self.resolver.resolveString(_content);
var mentions = self.resolver.resolveMentions(content);
request
.patch(Endpoints.CHANNEL_MESSAGE(message.channel.id, message.id))
.set("authorization", self.token)
.send({
content: content,
tts: options.tts,
mentions: mentions
})
.end((err, res) => {
if (err) {
reject(new Error(err.response.text));
} else {
resolve(
message.channel.messages.update
(message, new Message(res.body, message.channel, self.client)
));
}
})
} else {
reject(new Error("Supplied message did not resolve to a message!"));
}
});
}
sendWS(object) {
this.websocket.send(JSON.stringify(object));