From 62afd8e8e6b39b5c4089d50f71b9080bebbfd7e4 Mon Sep 17 00:00:00 2001 From: Dragory Date: Sat, 15 Dec 2018 17:15:32 +0200 Subject: [PATCH] Show attachments in message deletion logs --- src/data/DefaultLogMessages.json | 2 +- src/plugins/Logs.ts | 11 +++++++++-- src/utils.ts | 4 ++++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/data/DefaultLogMessages.json b/src/data/DefaultLogMessages.json index 209cca22..2fb6eba9 100644 --- a/src/data/DefaultLogMessages.json +++ b/src/data/DefaultLogMessages.json @@ -25,7 +25,7 @@ "ROLE_EDIT": "🖊 Role **{role.name}** was edited", "MESSAGE_EDIT": "✏ **{member.user.username}#{member.user.discriminator}** (`{member.id}`) message edited in **#{channel.name}**:\nBefore:```{before}```After:```{after}```", - "MESSAGE_DELETE": "🗑 **{member.user.username}#{member.user.discriminator}** (`{member.id}`) message deleted in **#{channel.name}**:\n```{messageText}```", + "MESSAGE_DELETE": "🗑 **{member.user.username}#{member.user.discriminator}** (`{member.id}`) message deleted in **#{channel.name}**:\n```{messageText}```{attachments}", "MESSAGE_DELETE_BULK": "🗑 **{count}** messages deleted in **#{channel.name}** ({archiveUrl})", "MESSAGE_DELETE_BARE": "🗑 Message (`{messageId}`) deleted in **#{channel.name}** (no more info available)", diff --git a/src/plugins/Logs.ts b/src/plugins/Logs.ts index 4938e533..3112e45d 100644 --- a/src/plugins/Logs.ts +++ b/src/plugins/Logs.ts @@ -5,9 +5,11 @@ import { Channel, Constants as ErisConstants, Member, Message, TextChannel, User import { deactivateMentions, disableCodeBlocks, + disableLinkPreviews, findRelevantAuditLogEntry, formatTemplateString, - stripObjectToScalars + stripObjectToScalars, + useMediaUrls } from "../utils"; import DefaultLogMessages from "../data/DefaultLogMessages.json"; import moment from "moment-timezone"; @@ -283,12 +285,17 @@ export class LogsPlugin extends Plugin { const channel = this.guild.channels.get(savedMessage.channel_id); if (member) { + const attachments = savedMessage.data.attachments + ? "\nAttachments:\n" + savedMessage.data.attachments.map((a: any) => a.url).join("\n") + : ""; + this.guildLogs.log( LogType.MESSAGE_DELETE, { member: stripObjectToScalars(member, ["user"]), channel: stripObjectToScalars(channel), - messageText: disableCodeBlocks(deactivateMentions(savedMessage.data.content || "")) + messageText: disableCodeBlocks(deactivateMentions(savedMessage.data.content || "")), + attachments: disableLinkPreviews(useMediaUrls(attachments)) }, savedMessage.id ); diff --git a/src/utils.ts b/src/utils.ts index ee5ea5e9..877804b3 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -229,6 +229,10 @@ export function disableCodeBlocks(content: string): string { return content.replace(/`/g, "`\u200b"); } +export function useMediaUrls(content: string): string { + return content.replace(/cdn\.discordapp\.com/g, "media.discordapp.net"); +} + export function chunkLines(str: string, maxChunkLength = 2000): string[] { if (str.length < maxChunkLength) { return [str];