feat(audits): add content to embed

Added content to audit embeds for messageDelete and messageUpdate
This commit is contained in:
Axel Olausson Holtenäs 2022-12-15 12:37:29 +01:00
parent f0121206b5
commit a6605f7732
2 changed files with 86 additions and 15 deletions

View file

@ -1,22 +1,52 @@
import { formatDistanceToNow } from "date-fns";
import { EmbedBuilder, Message } from "discord.js";
import auditLogger from "../../helpers/auditLogger";
import capitalizeFirstLetter from "../../helpers/capitalizeFirstLetter";
export default {
execute: async (message: Message) => {
const { guild } = message;
const { guild, member } = message;
if (!guild) throw new Error("Guild unavailable");
if (!member) throw new Error("Member unavailable");
if (!member.joinedAt) throw new Error("Can not find member joined at");
const embed = new EmbedBuilder()
.setAuthor({
name: message.author.username,
name: "Message Deleted",
iconURL: message.author.displayAvatarURL(),
})
.setDescription(
`
**Message sent by** ${message.author} **deleted in** ${message.channel}
${message.content}
`
);
.addFields([
{
name: "User",
value: `${message.author} (${message.author.tag})`,
inline: true,
},
{
name: "Member since",
value: `${capitalizeFirstLetter(
formatDistanceToNow(member.joinedAt, {
addSuffix: true,
})
)}`,
inline: true,
},
{
name: "Created",
value: `${capitalizeFirstLetter(
formatDistanceToNow(message.author.createdAt, { addSuffix: true })
)}`,
inline: true,
},
{
name: "Content",
value: `${
message.content.length <= 1024
? message.content
: "Length is above 1024, this is a [limit by Discord](https://discord.com/developers/docs/resources/channel#embed-object-embed-limits), we are working on an solution to this problem."
}`,
},
]);
await auditLogger(guild, embed);
},

View file

@ -1,22 +1,63 @@
/* eslint-disable no-loops/no-loops */
import { formatDistanceToNow } from "date-fns";
import { EmbedBuilder, Message } from "discord.js";
import auditLogger from "../../helpers/auditLogger";
import capitalizeFirstLetter from "../../helpers/capitalizeFirstLetter";
export default {
execute: async (oldMessage: Message, newMessage: Message) => {
const { guild } = newMessage;
const { guild, member } = newMessage;
if (!guild) throw new Error("Guild unavailable");
if (!member) throw new Error("Member unavailable");
if (!member.joinedAt) throw new Error("Can not find member joined at");
const embed = new EmbedBuilder()
.setAuthor({
name: newMessage.author.username,
name: "Message Updated",
iconURL: newMessage.author.displayAvatarURL(),
})
.setDescription(
`
**Message edited in** ${newMessage.channel} [jump to message](https://discord.com/channels/${newMessage.guild.id}/${newMessage.channel.id}/${newMessage.id})
`
);
.addFields([
{
name: "User",
value: `${newMessage.author} (${newMessage.author.tag})`,
inline: true,
},
{
name: "Member since",
value: `${capitalizeFirstLetter(
formatDistanceToNow(member.joinedAt, {
addSuffix: true,
})
)}`,
inline: true,
},
{
name: "Created",
value: `${capitalizeFirstLetter(
formatDistanceToNow(newMessage.author.createdAt, {
addSuffix: true,
})
)}`,
inline: true,
},
{
name: "Before edited",
value: `${
oldMessage.content.length <= 1024
? oldMessage.content
: "Length is above 1024, this is a [limit by Discord](https://discord.com/developers/docs/resources/channel#embed-object-embed-limits), we are working on an solution to this problem."
}`,
},
{
name: "After edited",
value: `${
newMessage.content.length <= 1024
? newMessage.content
: "Length is above 1024, this is a [limit by Discord](https://discord.com/developers/docs/resources/channel#embed-object-embed-limits), we are working on an solution to this problem."
}`,
},
]);
await auditLogger(guild, embed);
},