Show attachments in message deletion logs

This commit is contained in:
Dragory 2018-12-15 17:15:32 +02:00
parent 0431b3c225
commit 62afd8e8e6
3 changed files with 14 additions and 3 deletions

View file

@ -25,7 +25,7 @@
"ROLE_EDIT": "🖊 Role **{role.name}** was edited", "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_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_BULK": "🗑 **{count}** messages deleted in **#{channel.name}** ({archiveUrl})",
"MESSAGE_DELETE_BARE": "🗑 Message (`{messageId}`) deleted in **#{channel.name}** (no more info available)", "MESSAGE_DELETE_BARE": "🗑 Message (`{messageId}`) deleted in **#{channel.name}** (no more info available)",

View file

@ -5,9 +5,11 @@ import { Channel, Constants as ErisConstants, Member, Message, TextChannel, User
import { import {
deactivateMentions, deactivateMentions,
disableCodeBlocks, disableCodeBlocks,
disableLinkPreviews,
findRelevantAuditLogEntry, findRelevantAuditLogEntry,
formatTemplateString, formatTemplateString,
stripObjectToScalars stripObjectToScalars,
useMediaUrls
} from "../utils"; } from "../utils";
import DefaultLogMessages from "../data/DefaultLogMessages.json"; import DefaultLogMessages from "../data/DefaultLogMessages.json";
import moment from "moment-timezone"; import moment from "moment-timezone";
@ -283,12 +285,17 @@ export class LogsPlugin extends Plugin {
const channel = this.guild.channels.get(savedMessage.channel_id); const channel = this.guild.channels.get(savedMessage.channel_id);
if (member) { if (member) {
const attachments = savedMessage.data.attachments
? "\nAttachments:\n" + savedMessage.data.attachments.map((a: any) => a.url).join("\n")
: "";
this.guildLogs.log( this.guildLogs.log(
LogType.MESSAGE_DELETE, LogType.MESSAGE_DELETE,
{ {
member: stripObjectToScalars(member, ["user"]), member: stripObjectToScalars(member, ["user"]),
channel: stripObjectToScalars(channel), channel: stripObjectToScalars(channel),
messageText: disableCodeBlocks(deactivateMentions(savedMessage.data.content || "")) messageText: disableCodeBlocks(deactivateMentions(savedMessage.data.content || "<no text content>")),
attachments: disableLinkPreviews(useMediaUrls(attachments))
}, },
savedMessage.id savedMessage.id
); );

View file

@ -229,6 +229,10 @@ export function disableCodeBlocks(content: string): string {
return content.replace(/`/g, "`\u200b"); 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[] { export function chunkLines(str: string, maxChunkLength = 2000): string[] {
if (str.length < maxChunkLength) { if (str.length < maxChunkLength) {
return [str]; return [str];