summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/gateway/src/listeners/messageDeletion.ts38
1 files changed, 36 insertions, 2 deletions
diff --git a/packages/gateway/src/listeners/messageDeletion.ts b/packages/gateway/src/listeners/messageDeletion.ts
index 05431e7..d500a0b 100644
--- a/packages/gateway/src/listeners/messageDeletion.ts
+++ b/packages/gateway/src/listeners/messageDeletion.ts
@@ -12,6 +12,8 @@ export const handleMessageDeletion = (client: Client) => {
const channel = deletedMessage.channel;
const author = deletedMessage.author;
const content = deletedMessage.content || "*No text content*";
+ const attachments = deletedMessage.attachments;
+
const embed = new EmbedBuilder()
.setTitle("🗑️ Message Deleted")
.setColor("#ff4444")
@@ -39,14 +41,46 @@ export const handleMessageDeletion = (client: Client) => {
if (content.length <= 1024) {
embed.addFields({ name: "Content", value: content, inline: false });
- await sendAuditLog(client, embed);
} else {
embed.addFields({
name: "Content",
value: "*Content too long, see message below*",
inline: false,
});
- await sendAuditLog(client, embed, content);
+ }
+
+ if (attachments.size > 0) {
+ const attachmentList = Array.from(attachments.values())
+ .map((attachment) => `[${attachment.name}](${attachment.url})`)
+ .join('\n');
+
+ embed.addFields({
+ name: "Attachments",
+ value: attachmentList.length <= 1024 ? attachmentList : "*Too many attachments, see message below*",
+ inline: false,
+ });
+ }
+
+ if (content.length <= 1024 && (!attachments.size || Array.from(attachments.values()).map(a => `[${a.name}](${a.url})`).join('\n').length <= 1024)) {
+ await sendAuditLog(client, embed);
+ } else {
+ let additionalContent = "";
+
+ if (content.length > 1024) {
+ additionalContent += "**Content:**\n" + content + "\n\n";
+ }
+
+ if (attachments.size > 0) {
+ const attachmentList = Array.from(attachments.values())
+ .map((attachment) => `[${attachment.name}](${attachment.url})`)
+ .join('\n');
+
+ if (attachmentList.length > 1024) {
+ additionalContent += "**Attachments:**\n" + attachmentList;
+ }
+ }
+
+ await sendAuditLog(client, embed, additionalContent);
}
} catch (error) {
console.error("Error logging message deletion:", error);