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 { EmbedBuilder, Message } from "discord.js";
import auditLogger from "../../helpers/auditLogger"; import auditLogger from "../../helpers/auditLogger";
import capitalizeFirstLetter from "../../helpers/capitalizeFirstLetter";
export default { export default {
execute: async (message: Message) => { execute: async (message: Message) => {
const { guild } = message; const { guild, member } = message;
if (!guild) throw new Error("Guild unavailable"); 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() const embed = new EmbedBuilder()
.setAuthor({ .setAuthor({
name: message.author.username, name: "Message Deleted",
iconURL: message.author.displayAvatarURL(), iconURL: message.author.displayAvatarURL(),
}) })
.setDescription( .addFields([
` {
**Message sent by** ${message.author} **deleted in** ${message.channel} name: "User",
${message.content} 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); await auditLogger(guild, embed);
}, },

View file

@ -1,22 +1,63 @@
/* eslint-disable no-loops/no-loops */ /* eslint-disable no-loops/no-loops */
import { formatDistanceToNow } from "date-fns";
import { EmbedBuilder, Message } from "discord.js"; import { EmbedBuilder, Message } from "discord.js";
import auditLogger from "../../helpers/auditLogger"; import auditLogger from "../../helpers/auditLogger";
import capitalizeFirstLetter from "../../helpers/capitalizeFirstLetter";
export default { export default {
execute: async (oldMessage: Message, newMessage: Message) => { execute: async (oldMessage: Message, newMessage: Message) => {
const { guild } = newMessage; const { guild, member } = newMessage;
if (!guild) throw new Error("Guild unavailable"); 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() const embed = new EmbedBuilder()
.setAuthor({ .setAuthor({
name: newMessage.author.username, name: "Message Updated",
iconURL: newMessage.author.displayAvatarURL(), iconURL: newMessage.author.displayAvatarURL(),
}) })
.setDescription( .addFields([
` {
**Message edited in** ${newMessage.channel} [jump to message](https://discord.com/channels/${newMessage.guild.id}/${newMessage.channel.id}/${newMessage.id}) 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); await auditLogger(guild, embed);
}, },