From e4450c8417624b71d779cb4f41692538f9165e10 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sat, 2 Sep 2023 19:12:47 -0400 Subject: first commit --- .../src/client/actions/MessageDeleteBulk.js | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 node_modules/discord.js/src/client/actions/MessageDeleteBulk.js (limited to 'node_modules/discord.js/src/client/actions/MessageDeleteBulk.js') diff --git a/node_modules/discord.js/src/client/actions/MessageDeleteBulk.js b/node_modules/discord.js/src/client/actions/MessageDeleteBulk.js new file mode 100644 index 0000000..5f61d19 --- /dev/null +++ b/node_modules/discord.js/src/client/actions/MessageDeleteBulk.js @@ -0,0 +1,47 @@ +'use strict'; + +const { Collection } = require('@discordjs/collection'); +const Action = require('./Action'); +const Events = require('../../util/Events'); + +class MessageDeleteBulkAction extends Action { + handle(data) { + const client = this.client; + const channel = client.channels.cache.get(data.channel_id); + + if (channel) { + if (!channel.isTextBased()) return {}; + + if (channel.isThread()) channel.messageCount -= data.ids.length; + + const ids = data.ids; + const messages = new Collection(); + for (const id of ids) { + const message = this.getMessage( + { + id, + guild_id: data.guild_id, + }, + channel, + false, + ); + if (message) { + messages.set(message.id, message); + channel.messages.cache.delete(id); + } + } + + /** + * Emitted whenever messages are deleted in bulk. + * @event Client#messageDeleteBulk + * @param {Collection} messages The deleted messages, mapped by their id + * @param {GuildTextBasedChannel} channel The channel that the messages were deleted in + */ + if (messages.size > 0) client.emit(Events.MessageBulkDelete, messages, channel); + return { messages }; + } + return {}; + } +} + +module.exports = MessageDeleteBulkAction; -- cgit v1.2.3