diff --git a/lib/Client.js b/lib/Client.js index 19f45dd46..3b362da83 100644 --- a/lib/Client.js +++ b/lib/Client.js @@ -315,6 +315,33 @@ var Client = (function () { self.sendMessage(destination, message, callback, user + ", ").then(response)["catch"](reject); }); } + }, { + key: "deleteMessage", + value: function deleteMessage(message, timeout) { + var callback = arguments.length <= 2 || arguments[2] === undefined ? function (err, msg) {} : arguments[2]; + + var self = this; + + return new Promise(function (resolve, reject) { + if (timeout) { + setTimeout(remove, timeout); + } else { + remove(); + } + + function remove() { + request.del(Endpoints.CHANNELS + "/" + message.channel.id + "/messages/" + message.id).set("authorization", self.token).end(function (err, res) { + if (err) { + callback(err); + reject(err); + } else { + callback(null, message); + resolve(message); + } + }); + } + }); + } }, { key: "sendMessage", value: function sendMessage(destination, message) { diff --git a/src/Client.js b/src/Client.js index 867510574..be3230c74 100644 --- a/src/Client.js +++ b/src/Client.js @@ -336,18 +336,46 @@ class Client { }); } - - reply(destination, message, callback = function(err, msg){}){ - + + reply(destination, message, callback = function (err, msg) { }) { + var self = this; - - return new Promise(function(response, reject){ - + + return new Promise(function (response, reject) { + var user = destination.sender; self.sendMessage(destination, message, callback, user + ", ").then(response).catch(reject); - + + }); + + } + + deleteMessage(message, timeout, callback = function (err, msg) { }) { + + var self = this; + + return new Promise(function (resolve, reject) { + if (timeout) { + setTimeout(remove, timeout) + }else{ + remove(); + } + + function remove() { + request + .del(`${Endpoints.CHANNELS}/${message.channel.id}/messages/${message.id}`) + .set("authorization", self.token) + .end(function (err, res) { + if (err) { + callback(err); + reject(err); + } else { + callback(null, message); + resolve(message); + } + }); + } }); - } sendMessage(destination, message, callback = function (err, msg) { }, premessage = "") { diff --git a/test/bot.js b/test/bot.js index 881d9f0fc..a142d5861 100644 --- a/test/bot.js +++ b/test/bot.js @@ -18,7 +18,9 @@ mybot.on("message", function (msg) { if(msg.content === "pmme"){ console.log("yes we found it!"); - mybot.reply(msg, "You know what "+msg.sender+"? NO"); + mybot.reply(msg, "You know what "+msg.sender+"? NO").then(function(msg){ + mybot.deleteMessage(msg, 5000); + }); } });