allow TextBasedChannel#bulkDelete to take a number (#821)

* useful

* update docs

* Update TextBasedChannel.js

* update docs

* fix docs

* Update TextBasedChannel.js
This commit is contained in:
Gus Caplan
2016-10-23 13:51:54 -05:00
committed by Schuyler Cebulskie
parent b020fae258
commit 3e1425af04
2 changed files with 14 additions and 9 deletions

File diff suppressed because one or more lines are too long

View File

@@ -310,17 +310,22 @@ class TextBasedChannel {
}
/**
* Bulk delete a given Collection or Array of messages in one go. Returns the deleted messages after.
* Bulk delete given messages.
* Only OAuth Bot accounts may use this method.
* @param {Collection<string, Message>|Message[]} messages The messages to delete
* @returns {Collection<string, Message>}
* @param {Collection<string, Message>|Message[]|number} messages Messages to delete, or number of messages to delete
* @returns {Promise<Collection<string, Message>>} Deleted messages
*/
bulkDelete(messages) {
if (!(messages instanceof Array || messages instanceof Collection)) {
return Promise.reject(new TypeError('Messages must be an Array or Collection.'));
}
const messageIDs = messages instanceof Collection ? messages.keyArray() : messages.map(m => m.id);
return this.client.rest.methods.bulkDeleteMessages(this, messageIDs);
return new Promise((resolve, reject) => {
if (!isNaN(messages)) {
this.fetchMessages({ limit: messages }).then(msgs => resolve(this.bulkDelete(msgs)));
} else if (messages instanceof Array || messages instanceof Collection) {
const messageIDs = messages instanceof Collection ? messages.keyArray() : messages.map(m => m.id);
resolve(this.client.rest.methods.bulkDeleteMessages(this, messageIDs));
} else {
reject(new TypeError('Messages must be an Array, Collection, or number.'));
}
});
}
_cacheMessage(message) {