blob: 2263d51b4e9f843e31f33eafb376054d1fdcdfe2 [file] [log] [blame]
pineafan32767212022-03-14 21:27:39 +00001export const event = 'messageDelete'
2
3export async function callback(client, message) {
pineafane625d782022-05-09 18:04:32 +01004 try {
5 if (message.author.id == client.user.id) return;
pineafan73a7c4a2022-07-24 10:38:04 +01006 if (client.noLog.includes(`${message.guild.id}/${message.channel.id}/${message.id}`)) return;
pineafane625d782022-05-09 18:04:32 +01007 const { getAuditLog, log, NucleusColors, entry, renderUser, renderDelta, renderChannel } = message.channel.client.logger
8 let auditLog = await getAuditLog(message.guild, 'MEMBER_BAN_ADD')
9 let audit = auditLog.entries.filter(entry => entry.target.id == message.author.id).first();
10 if (audit) {
11 if (audit.createdAt - 100 < new Date().getTime()) return;
pineafan32767212022-03-14 21:27:39 +000012 }
pineafane625d782022-05-09 18:04:32 +010013 message.reference = message.reference || {}
14 let content = message.cleanContent
pineafan73a7c4a2022-07-24 10:38:04 +010015 content.replace(`\``, `\\\``)
pineafane625d782022-05-09 18:04:32 +010016 if (content.length > 256) content = content.substring(0, 253) + '...'
pineafan73a7c4a2022-07-24 10:38:04 +010017 let attachmentJump = ""
18 let config = (await client.database.guilds.read(message.guild.id)).logging.attachments.saved[message.channel.id + message.id];
19 if (config) { attachmentJump = ` [[View attachments]](${config})` }
pineafane625d782022-05-09 18:04:32 +010020 let data = {
21 meta: {
22 type: 'messageDelete',
23 displayName: 'Message Deleted',
24 calculateType: 'messageDelete',
25 color: NucleusColors.red,
26 emoji: 'MESSAGE.DELETE',
27 timestamp: new Date().getTime()
28 },
29 separate: {
30 start: content ? `**Message:**\n\`\`\`${content}\`\`\`` : '**Message:** *Message had no content*',
31 },
32 list: {
pineafanda6e5342022-07-03 10:03:16 +010033 messageId: entry(message.id, `\`${message.id}\``),
pineafane625d782022-05-09 18:04:32 +010034 sentBy: entry(message.author.id, renderUser(message.author)),
35 sentIn: entry(message.channel.id, renderChannel(message.channel)),
36 deleted: entry(new Date().getTime(), renderDelta(new Date().getTime())),
37 mentions: message.mentions.users.size,
pineafan73a7c4a2022-07-24 10:38:04 +010038 attachments: entry(message.attachments.size, message.attachments.size + attachmentJump),
pineafane625d782022-05-09 18:04:32 +010039 repliedTo: entry(
40 message.reference.messageId || null,
41 message.reference.messageId ? `[[Jump to message]](https://discord.com/channels/${message.guild.id}/${message.channel.id}/${message.reference.messageId})` : "None"
42 )
43 },
44 hidden: {
45 guild: message.channel.guild.id
46 }
47 }
pineafan4edb7762022-06-26 19:21:04 +010048 log(data);
pineafan73a7c4a2022-07-24 10:38:04 +010049 } catch(e) { console.log(e) }
pineafan32767212022-03-14 21:27:39 +000050}