From 52f8826e526f0c0aadb86c3e29975aef4dc1ab85 Mon Sep 17 00:00:00 2001 From: Andrew Lee Date: Sat, 8 Mar 2025 00:11:03 -0500 Subject: Bulk delete message event; Guild suggestions; sinfo + uinfo --- bot/src/events/MessageBulkDelete.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 bot/src/events/MessageBulkDelete.js (limited to 'bot/src/events/MessageBulkDelete.js') diff --git a/bot/src/events/MessageBulkDelete.js b/bot/src/events/MessageBulkDelete.js new file mode 100644 index 0000000..1595012 --- /dev/null +++ b/bot/src/events/MessageBulkDelete.js @@ -0,0 +1,32 @@ +import { EmbedBuilder, Events, AttachmentBuilder } from 'discord.js'; +import { guildSettings } from '../models/guild-settings.js'; + +export default { + name: Events.MessageBulkDelete, + async execute(msg, channel) { + const guildSetting = await guildSettings.findOne({ where: { guildID: channel.guild.id } }); + if (!guildSetting || !guildSetting.logChannelID) return; + + const logEmbed = new EmbedBuilder() + .setAuthor({ name: 'AleeBot Logging', iconURL: channel.client.user.avatarURL() }) + .setDescription(`A bulk of ${msg.size} messages was deleted in ${channel}`) + .setColor('#ff021b') + .setTimestamp(); + + let messages = []; + + msg.forEach(message => { + messages.push(message.createdAt.toUTCString()); + messages.push(`${message.author.username} - ${message.author.id}`); + messages.push(message.content); + }); + + const messageContent = messages.join('\n'); + const attachment = new AttachmentBuilder(Buffer.from(messageContent, 'utf-8'), { name: 'messages.txt' }); + + let deleteMessage = channel.client.channels.cache.get(guildSetting.logChannelID); + if (!deleteMessage) return; + + await deleteMessage.send({ embeds: [logEmbed], files: [attachment] }); + } +}; -- cgit v1.2.3