From 8bee11744534bfc3e089028da19a65c9b2172e0d Mon Sep 17 00:00:00 2001 From: Manuel Kraus Date: Tue, 24 May 2016 23:44:26 +0200 Subject: [PATCH 1/3] Fix bulk deletion error if < 2 messages Also return error if no server (dm) --- lib/Client/InternalClient.js | 6 +++++- lib/Util/TokenCacher-shim.js | 24 ++++++++++++------------ src/Client/InternalClient.js | 9 +++++++-- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index 0c083efa1..f50a46bee 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -849,7 +849,7 @@ var InternalClient = (function () { InternalClient.prototype.deleteMessages = function deleteMessages(_messages) { if (!_messages instanceof Array) return Promise.reject(new Error("Messages provided must be in an array")); - if (_messages.length < 1) return Promise.reject(new Error("You must provide at least one message to delete")); + if (_messages.length < 2) return Promise.reject(new Error("You must provide at least two messages to delete")); var messages = []; var channel; @@ -870,6 +870,10 @@ var InternalClient = (function () { var message = this.resolver.resolveMessage(_message); if (!message) return Promise.reject(new Error("Something other than a message could not be resolved in the array...")); + if (!message.server) { + return Promise.reject(new Error("You can only bulk delete messages on guild channels")); + } + // ensure same channel if (!channel) { channel = message.channel; diff --git a/lib/Util/TokenCacher-shim.js b/lib/Util/TokenCacher-shim.js index f483e9575..53412d365 100644 --- a/lib/Util/TokenCacher-shim.js +++ b/lib/Util/TokenCacher-shim.js @@ -6,23 +6,23 @@ exports.__esModule = true; function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var TokenCacher = (function () { - function TokenCacher() { - _classCallCheck(this, TokenCacher); - } + function TokenCacher() { + _classCallCheck(this, TokenCacher); + } - TokenCacher.prototype.setToken = function setToken() {}; + TokenCacher.prototype.setToken = function setToken() {}; - TokenCacher.prototype.save = function save() {}; + TokenCacher.prototype.save = function save() {}; - TokenCacher.prototype.getToken = function getToken() { - return null; - }; + TokenCacher.prototype.getToken = function getToken() { + return null; + }; - TokenCacher.prototype.init = function init(ind) { - this.done = true; - }; + TokenCacher.prototype.init = function init(ind) { + this.done = true; + }; - return TokenCacher; + return TokenCacher; })(); exports["default"] = TokenCacher; diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index c51584cfc..dd589a55b 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -701,8 +701,9 @@ export default class InternalClient { deleteMessages(_messages) { if (!_messages instanceof Array) return Promise.reject(new Error("Messages provided must be in an array")); - if (_messages.length < 1) - return Promise.reject(new Error("You must provide at least one message to delete")) + if (_messages.length < 2) + return Promise.reject(new Error("You must provide at least two messages to delete")); + var messages = []; var channel; @@ -711,6 +712,10 @@ export default class InternalClient { if (!message) return Promise.reject(new Error("Something other than a message could not be resolved in the array...")); + if(!message.server) { + return Promise.reject(new Error("You can only bulk delete messages on guild channels")); + } + // ensure same channel if (!channel) { channel = message.channel; From 0a5ce3dcd5f5e9fb036aa136a317e4e73499c268 Mon Sep 17 00:00:00 2001 From: Manuel Kraus Date: Wed, 25 May 2016 01:40:18 +0200 Subject: [PATCH 2/3] Call deleteMessage if only one message --- lib/Client/InternalClient.js | 4 +++- src/Client/InternalClient.js | 9 ++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index f50a46bee..8be1eb83c 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -849,7 +849,9 @@ var InternalClient = (function () { InternalClient.prototype.deleteMessages = function deleteMessages(_messages) { if (!_messages instanceof Array) return Promise.reject(new Error("Messages provided must be in an array")); - if (_messages.length < 2) return Promise.reject(new Error("You must provide at least two messages to delete")); + if (_messages.length < 1) return Promise.reject(new Error("You must provide at least one message to delete"));else if (_messages.length === 1) { + return this.deleteMessage(_messages[0]); + } var messages = []; var channel; diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index dd589a55b..19206b025 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -701,8 +701,11 @@ export default class InternalClient { deleteMessages(_messages) { if (!_messages instanceof Array) return Promise.reject(new Error("Messages provided must be in an array")); - if (_messages.length < 2) - return Promise.reject(new Error("You must provide at least two messages to delete")); + if (_messages.length < 1) + return Promise.reject(new Error("You must provide at least one message to delete")); + else if (_messages.length === 1) { + return this.deleteMessage(_messages[0]); + } var messages = []; @@ -712,7 +715,7 @@ export default class InternalClient { if (!message) return Promise.reject(new Error("Something other than a message could not be resolved in the array...")); - if(!message.server) { + if (!message.server) { return Promise.reject(new Error("You can only bulk delete messages on guild channels")); } From ad7ffcecb4841a77dcd527e2e944d86898ced8eb Mon Sep 17 00:00:00 2001 From: Manuel Kraus Date: Wed, 25 May 2016 01:45:02 +0200 Subject: [PATCH 3/3] Beautify code style --- lib/Client/InternalClient.js | 9 ++------- src/Client/InternalClient.js | 7 ++----- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/lib/Client/InternalClient.js b/lib/Client/InternalClient.js index 8be1eb83c..7c3e23c96 100644 --- a/lib/Client/InternalClient.js +++ b/lib/Client/InternalClient.js @@ -849,9 +849,7 @@ var InternalClient = (function () { InternalClient.prototype.deleteMessages = function deleteMessages(_messages) { if (!_messages instanceof Array) return Promise.reject(new Error("Messages provided must be in an array")); - if (_messages.length < 1) return Promise.reject(new Error("You must provide at least one message to delete"));else if (_messages.length === 1) { - return this.deleteMessage(_messages[0]); - } + if (_messages.length < 1) return Promise.reject(new Error("You must provide at least one message to delete"));else if (_messages.length === 1) return this.deleteMessage(_messages[0]); var messages = []; var channel; @@ -871,10 +869,7 @@ var InternalClient = (function () { var message = this.resolver.resolveMessage(_message); if (!message) return Promise.reject(new Error("Something other than a message could not be resolved in the array...")); - - if (!message.server) { - return Promise.reject(new Error("You can only bulk delete messages on guild channels")); - } + if (!message.server) return Promise.reject(new Error("You can only bulk delete messages on guild channels")); // ensure same channel if (!channel) { diff --git a/src/Client/InternalClient.js b/src/Client/InternalClient.js index 19206b025..1ab1108b8 100644 --- a/src/Client/InternalClient.js +++ b/src/Client/InternalClient.js @@ -703,9 +703,8 @@ export default class InternalClient { return Promise.reject(new Error("Messages provided must be in an array")); if (_messages.length < 1) return Promise.reject(new Error("You must provide at least one message to delete")); - else if (_messages.length === 1) { + else if (_messages.length === 1) return this.deleteMessage(_messages[0]); - } var messages = []; @@ -714,10 +713,8 @@ export default class InternalClient { var message = this.resolver.resolveMessage(_message); if (!message) return Promise.reject(new Error("Something other than a message could not be resolved in the array...")); - - if (!message.server) { + if (!message.server) return Promise.reject(new Error("You can only bulk delete messages on guild channels")); - } // ensure same channel if (!channel) {