mirror of
https://github.com/discordjs/discord.js.git
synced 2026-06-03 09:30:08 +00:00
* Add "deleted" property to "Message" structure * Add "deleted" property to Multiple structures Structures edited: - Channel - Emoji - Guild - Guild Member - Role * Update "deletable" getter * Fix ESLint "no-trailing-spaces" errors * Requested Change: Mark w/ bulkDelete
36 lines
989 B
JavaScript
36 lines
989 B
JavaScript
const Action = require('./Action');
|
|
const Collection = require('../../util/Collection');
|
|
const { Events } = require('../../util/Constants');
|
|
|
|
class MessageDeleteBulkAction extends Action {
|
|
handle(data) {
|
|
const client = this.client;
|
|
const channel = client.channels.get(data.channel_id);
|
|
|
|
if (channel) {
|
|
const ids = data.ids;
|
|
const messages = new Collection();
|
|
for (const id of ids) {
|
|
const message = channel.messages.get(id);
|
|
if (message) {
|
|
message.deleted = true;
|
|
messages.set(message.id, message);
|
|
channel.messages.delete(id);
|
|
}
|
|
}
|
|
|
|
if (messages.size > 0) client.emit(Events.MESSAGE_BULK_DELETE, messages);
|
|
return { messages };
|
|
}
|
|
return {};
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Emitted whenever messages are deleted in bulk.
|
|
* @event Client#messageDeleteBulk
|
|
* @param {Collection<Snowflake, Message>} messages The deleted messages, mapped by their ID
|
|
*/
|
|
|
|
module.exports = MessageDeleteBulkAction;
|