mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
committed by
abalabahaha
parent
d73ebcdfd4
commit
71db8555fe
@@ -511,6 +511,21 @@ export default class Client extends EventEmitter {
|
||||
return this.internal.deleteMessage(message, options)
|
||||
.then(dataCallback(callback), errorCallback(callback));
|
||||
}
|
||||
|
||||
/**
|
||||
* Bulk deletes messages (if the client has permission to)
|
||||
* @param {Array<MessageResolvable>} message the message to delete
|
||||
* @param {function(err: Error)} [callback] callback to the method
|
||||
* @returns {Promise<null, Error>} Resolves with null if the deletion was successful, otherwise rejects with an Error.
|
||||
* @example
|
||||
* // deleting messages
|
||||
* client.deleteMessages([message1, message2]);
|
||||
*/
|
||||
deleteMessages(messages, callback = (/*err, {}*/) => { }) {
|
||||
return this.internal.deleteMessages(messages)
|
||||
.then(dataCallback(callback), errorCallback(callback));
|
||||
}
|
||||
|
||||
/**
|
||||
* Edits a previously sent message (if the client has permission to)
|
||||
* @param {MessageResolvable} message the message to edit
|
||||
|
||||
@@ -689,6 +689,37 @@ export default class InternalClient {
|
||||
.then(() => message.channel.messages.remove(message));
|
||||
}
|
||||
|
||||
// def deleteMessages
|
||||
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"))
|
||||
|
||||
var messages = [];
|
||||
var channel;
|
||||
for (var _message of _messages) {
|
||||
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..."));
|
||||
|
||||
// ensure same channel
|
||||
if (!channel) {
|
||||
channel = message.channel;
|
||||
} else {
|
||||
if (message.channel.id !== channel.id)
|
||||
return Promise.reject(new Error("You can only bulk delete messages from the same channel at one time..."));
|
||||
}
|
||||
|
||||
messages.push(message);
|
||||
}
|
||||
|
||||
return this.apiRequest("post", `${Endpoints.CHANNEL_MESSAGES(channel.id)}/bulk_delete`, true, {
|
||||
messages: messages.map(m => m.id)
|
||||
})
|
||||
.then(() => messages.forEach(m => channel.messages.remove(m)));
|
||||
}
|
||||
|
||||
// def updateMessage
|
||||
updateMessage(msg, _content, options = {}) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user