mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 16:43:31 +01:00
38 lines
1.0 KiB
JavaScript
38 lines
1.0 KiB
JavaScript
'use strict';
|
|
|
|
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);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Emitted whenever messages are deleted in bulk.
|
|
* @event Client#messageDeleteBulk
|
|
* @param {Collection<Snowflake, Message>} messages The deleted messages, mapped by their ID
|
|
*/
|
|
if (messages.size > 0) client.emit(Events.MESSAGE_BULK_DELETE, messages);
|
|
return { messages };
|
|
}
|
|
return {};
|
|
}
|
|
}
|
|
|
|
|
|
module.exports = MessageDeleteBulkAction;
|