From c42e303b7b455c107f0965ad2fe00b9ca4c6349c Mon Sep 17 00:00:00 2001 From: hydrabolt Date: Thu, 21 Apr 2016 18:50:46 +0100 Subject: [PATCH] Add Message Deletion via message.delete() --- TODO.md | 2 +- src/client/rest/RESTMethods.js | 10 ++++++++++ src/structures/Message.js | 4 ++++ test/random.js | 7 +++++-- 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/TODO.md b/TODO.md index d3020a8bd..090d3ebe0 100644 --- a/TODO.md +++ b/TODO.md @@ -3,7 +3,7 @@ - [x] sending tts messages - [ ] sending files - [ ] updating user details -- [ ] deleting messages +- [x] deleting messages - [ ] updating messages - [ ] leaving guilds - [ ] deleting guilds diff --git a/src/client/rest/RESTMethods.js b/src/client/rest/RESTMethods.js index 2f2c27f87..e1066893d 100644 --- a/src/client/rest/RESTMethods.js +++ b/src/client/rest/RESTMethods.js @@ -50,6 +50,16 @@ class RESTMethods{ .catch(reject); }); } + + DeleteMessage(channel, message) { + return new Promise((resolve, reject) => { + this.rest.makeRequest('del', Constants.Endpoints.CHANNEL_MESSAGE(channel.id, message.id), true) + .then(() => { + resolve(message); + }) + .catch(reject); + }); + } } module.exports = RESTMethods; diff --git a/src/structures/Message.js b/src/structures/Message.js index b5a0b3e12..6e501ede2 100644 --- a/src/structures/Message.js +++ b/src/structures/Message.js @@ -71,6 +71,10 @@ class Message { if (data.id) this.id = data.id; } + + delete() { + return this.client.rest.methods.DeleteMessage(this.channel, this); + } } module.exports = Message; diff --git a/test/random.js b/test/random.js index 8bc302fdd..52e1f57d4 100644 --- a/test/random.js +++ b/test/random.js @@ -69,8 +69,11 @@ client.on('typingStop.', (channel, user, data) => { }); client.on('message', message => { - if (message.author.username === 'hydrabolt') - message.channel.sendMessage('hydrabolt said: ' + message.content).then(m => console.log(m.content)).catch(console.log); + if (message.author.username === 'hydrabolt') { + message.channel.sendMessage('test').then(msg => { + msg.delete(); + }); + } }); client.on('messageDelete', message => {