logging: more cleanup and consistency
This commit is contained in:
parent
2b75ef0ec2
commit
1d891b5932
1 changed files with 228 additions and 228 deletions
|
@ -24,7 +24,7 @@ async function getLoggingChannel(guild) {
|
||||||
return guild.channels.get(channelId) ?? guild.threads.get(channelId);
|
return guild.channels.get(channelId) ?? guild.threads.get(channelId);
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatNameChange(before, after) {
|
function formatChange(before, after) {
|
||||||
const beforeFormatted = before != null ? before : "<no value>";
|
const beforeFormatted = before != null ? before : "<no value>";
|
||||||
const afterFormatted = after != null ? after : "<no value>";
|
const afterFormatted = after != null ? after : "<no value>";
|
||||||
|
|
||||||
|
@ -147,14 +147,6 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
|
|
||||||
for (const [key, value] of Object.entries(isCreate ? after : before)) {
|
for (const [key, value] of Object.entries(isCreate ? after : before)) {
|
||||||
switch (key) {
|
switch (key) {
|
||||||
case "name": {
|
|
||||||
fields.push({
|
|
||||||
name: "Name",
|
|
||||||
value: `#${value}`,
|
|
||||||
inline: true,
|
|
||||||
});
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "type": {
|
case "type": {
|
||||||
const typeName = ChannelTypeNames[value];
|
const typeName = ChannelTypeNames[value];
|
||||||
fields.push({
|
fields.push({
|
||||||
|
@ -213,14 +205,14 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
case "name":
|
case "name":
|
||||||
fields.push({
|
fields.push({
|
||||||
name: "Name",
|
name: "Name",
|
||||||
value: formatNameChange(oldValue, newValue),
|
value: formatChange(oldValue, newValue),
|
||||||
inline: true,
|
inline: true,
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case "description":
|
case "description":
|
||||||
fields.push({
|
fields.push({
|
||||||
name: "Description",
|
name: "Description",
|
||||||
value: formatNameChange(oldValue, newValue),
|
value: formatChange(oldValue, newValue),
|
||||||
inline: true,
|
inline: true,
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
@ -228,8 +220,8 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
const oldIconURL = CDNEndpoints.GUILD_ICON(entry.targetID, oldValue);
|
const oldIconURL = CDNEndpoints.GUILD_ICON(entry.targetID, oldValue);
|
||||||
const newIconURL = CDNEndpoints.GUILD_ICON(entry.targetID, newValue);
|
const newIconURL = CDNEndpoints.GUILD_ICON(entry.targetID, newValue);
|
||||||
|
|
||||||
const oldIconFormatted = `[Old](${oldIconURL})`;
|
const oldIconFormatted = oldValue != null ? `[Old](${oldIconURL})` : "None";
|
||||||
const newIconFormatted = `[New](${newIconURL})`;
|
const newIconFormatted = newValue != null ? `[New](${newIconURL})` : "None";
|
||||||
|
|
||||||
fields.push({
|
fields.push({
|
||||||
name: "Icon",
|
name: "Icon",
|
||||||
|
@ -237,15 +229,15 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
inline: true,
|
inline: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
thumbnail = newIconURL;
|
thumbnail = newValue ? newIconURL : null;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "banner_hash": {
|
case "banner_hash": {
|
||||||
const oldBannerURL = CDNEndpoints.BANNER(entry.targetID, oldValue);
|
const oldBannerURL = CDNEndpoints.BANNER(entry.targetID, oldValue);
|
||||||
const newBannerURL = CDNEndpoints.BANNER(entry.targetID, newValue);
|
const newBannerURL = CDNEndpoints.BANNER(entry.targetID, newValue);
|
||||||
|
|
||||||
const oldBannerFormatted = `[Old](${oldBannerURL})`;
|
const oldBannerFormatted = oldValue != null ? `[Old](${oldBannerURL})` : "None";
|
||||||
const newBannerFormated = `[New](${newBannerURL})`;
|
const newBannerFormated = newValue != null ? `[New](${newBannerURL})` : "None";
|
||||||
|
|
||||||
fields.push({
|
fields.push({
|
||||||
name: "Banner",
|
name: "Banner",
|
||||||
|
@ -253,13 +245,17 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
inline: true,
|
inline: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
image = newBannerFormated;
|
image = newValue ? newBannerURL : null;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "system_channel_id": {
|
case "system_channel_id": {
|
||||||
fields.push({
|
fields.push({
|
||||||
name: "System Channel",
|
name: "System Channel",
|
||||||
value: `${oldValue ?? "<no value>"} -> ${newValue}`,
|
value: `${
|
||||||
|
oldValue != null
|
||||||
|
? `<#${oldValue}> (${entry.guild.channels.get(oldValue)?.name ?? "<uncached>"})`
|
||||||
|
: "None"
|
||||||
|
} -> <#${newValue}> (${entry.guild.channels.get(newValue)?.name ?? "<uncached>"})`,
|
||||||
inline: true,
|
inline: true,
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
@ -293,7 +289,7 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
|
|
||||||
fields.push({
|
fields.push({
|
||||||
name: "Updated by",
|
name: "Updated by",
|
||||||
value: `<@${entry.user.id}>`,
|
value: `<@${entry.user.id}> (${formatUsername(entry.user)})`,
|
||||||
inline: false,
|
inline: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -304,13 +300,13 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
title: `Server updated`,
|
title: `Server updated`,
|
||||||
fields,
|
fields,
|
||||||
thumbnail:
|
thumbnail:
|
||||||
thumbnail != undefined
|
thumbnail != null
|
||||||
? {
|
? {
|
||||||
url: thumbnail,
|
url: thumbnail,
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
image:
|
image:
|
||||||
image != undefined
|
image != null
|
||||||
? {
|
? {
|
||||||
url: image,
|
url: image,
|
||||||
}
|
}
|
||||||
|
@ -341,7 +337,7 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
|
|
||||||
fields.push({
|
fields.push({
|
||||||
name: "Visibility",
|
name: "Visibility",
|
||||||
value: formatNameChange(oldVisibility, newVisibility),
|
value: formatChange(oldVisibility, newVisibility),
|
||||||
inline: true,
|
inline: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -350,7 +346,7 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
|
|
||||||
fields.push({
|
fields.push({
|
||||||
name: "Updated by",
|
name: "Updated by",
|
||||||
value: `<@${entry.user.id}>`,
|
value: `<@${entry.user.id}> (${formatUsername(entry.user)})`,
|
||||||
inline: true,
|
inline: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -364,7 +360,7 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
color: COLOR_CHANGED,
|
color: COLOR_CHANGED,
|
||||||
title: `Server Profile updated`,
|
title: `Server Profile Updated`,
|
||||||
fields,
|
fields,
|
||||||
footer: {
|
footer: {
|
||||||
text: `Guild ID: ${entry.targetID}`,
|
text: `Guild ID: ${entry.targetID}`,
|
||||||
|
@ -388,7 +384,7 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
if (oldNickname != newNickname) {
|
if (oldNickname != newNickname) {
|
||||||
fields.push({
|
fields.push({
|
||||||
name: "Nickname",
|
name: "Nickname",
|
||||||
value: formatNameChange(oldNickname, newNickname),
|
value: formatChange(oldNickname, newNickname),
|
||||||
inline: true,
|
inline: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -399,20 +395,31 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
const timeoutDuration = new Date(timeout);
|
const timeoutDuration = new Date(timeout);
|
||||||
|
|
||||||
fields.push({
|
fields.push({
|
||||||
name: isTimedOut ? "Timed out" : "Was timed out until",
|
name: isTimedOut ? "Timed out until" : "Was timed out until",
|
||||||
value: `<t:${Math.round(timeoutDuration.getTime() / 1000)}>`,
|
value: `<t:${Math.round(timeoutDuration.getTime() / 1000)}>`,
|
||||||
inline: true,
|
inline: true,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let verb = "updated";
|
||||||
|
if (after.bypasses_verification) {
|
||||||
|
verb = "bypassed verification for";
|
||||||
|
} else if (after.communication_disabled_until != null) {
|
||||||
|
verb = "timed out";
|
||||||
|
} else if (before.communication_disabled_until != null) {
|
||||||
|
verb = "cleared timeout for";
|
||||||
|
}
|
||||||
|
|
||||||
channel.createMessage({
|
channel.createMessage({
|
||||||
embeds: [
|
embeds: [
|
||||||
{
|
{
|
||||||
color: COLOR_CHANGED,
|
color: COLOR_CHANGED,
|
||||||
title: `Member updated`,
|
title: `Member Updated`,
|
||||||
description: `<@${entry.user.id}> (${formatUsername(entry.user)}) updated member <@${
|
description: `<@${entry.user.id}> (${formatUsername(entry.user)}) ${verb} ${
|
||||||
entry.targetID
|
entry.targetID === entry.user.id
|
||||||
}> (${formatUsername(target)})`,
|
? "themselves"
|
||||||
|
: `member <@${entry.targetID}> (${formatUsername(target)})`
|
||||||
|
}`,
|
||||||
fields,
|
fields,
|
||||||
footer: {
|
footer: {
|
||||||
text: `User ID: ${entry.targetID}`,
|
text: `User ID: ${entry.targetID}`,
|
||||||
|
@ -424,11 +431,11 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AuditLogActions.MEMBER_ROLE_UPDATE: {
|
case AuditLogActions.MEMBER_ROLE_UPDATE: {
|
||||||
const isAdd = entry.after.$add != null;
|
const isAdd = after.$add != null;
|
||||||
const isSelf = entry.user.id === entry.targetID;
|
const isSelf = entry.user.id === entry.targetID;
|
||||||
|
|
||||||
const added = entry.after.$add;
|
const added = after.$add;
|
||||||
const removed = entry.after.$remove;
|
const removed = after.$remove;
|
||||||
let roles = added ?? removed;
|
let roles = added ?? removed;
|
||||||
|
|
||||||
const addAndRemove = added != null && removed != null;
|
const addAndRemove = added != null && removed != null;
|
||||||
|
@ -436,128 +443,122 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
|
|
||||||
const plural = roles.length > 1 ? "s" : "";
|
const plural = roles.length > 1 ? "s" : "";
|
||||||
|
|
||||||
channel
|
channel.createMessage({
|
||||||
.createMessage({
|
embeds: [
|
||||||
embeds: [
|
{
|
||||||
{
|
color: addAndRemove ? COLOR_CHANGED : isAdd ? COLOR_ADDED : COLOR_REMOVED,
|
||||||
color: addAndRemove ? COLOR_CHANGED : isAdd ? COLOR_ADDED : COLOR_REMOVED,
|
title: `Member Role${plural} Updated`,
|
||||||
title: `Member Role${plural} Updated`,
|
description: `<@${entry.user.id}> (${formatUsername(entry.user)}) ${
|
||||||
description: `<@${entry.user.id}> (${formatUsername(entry.user)}) ${
|
addAndRemove ? "added and removed" : isAdd ? "added" : "removed"
|
||||||
addAndRemove ? "added and removed" : isAdd ? "added" : "removed"
|
} ${roles.length > 1 ? `${roles.length} ` : ""}role${plural} ${added ? "to" : "from"} ${
|
||||||
} ${roles.length > 1 ? `${roles.length} ` : ""}role${plural} ${added ? "to" : "from"} ${
|
isSelf ? "self" : `<@${entry.targetID}> (${formatUsername(entry.target.user)})`
|
||||||
isSelf ? "self" : `<@${entry.targetID}> (${formatUsername(entry.target.user)})`
|
}`,
|
||||||
}`,
|
timestamp: new Date().toISOString(),
|
||||||
timestamp: new Date().toISOString(),
|
fields: [
|
||||||
fields: [
|
!addAndRemove && {
|
||||||
!addAndRemove && {
|
name: `Role${plural}`,
|
||||||
name: `Role${plural}`,
|
value: roles.map((role) => `<@&${role.id}> (${role.name})`).join("\n"),
|
||||||
value: roles.map((role) => `<@&${role.id}> (${role.name})`).join("\n"),
|
|
||||||
},
|
|
||||||
addAndRemove && {
|
|
||||||
name: "Added",
|
|
||||||
value: added.map((role) => `<@&${role.id}> (${role.name})`).join("\n"),
|
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
addAndRemove && {
|
|
||||||
name: "Removed",
|
|
||||||
value: removed.map((role) => `<@&${role.id}> (${role.name})`).join("\n"),
|
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
entry.reason != null && {
|
|
||||||
name: "Reason",
|
|
||||||
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
|
||||||
},
|
|
||||||
].filter((x) => !!x),
|
|
||||||
footer: {
|
|
||||||
text: `Role ID${plural}: ${roles.map((role) => role.id).join(", ")}`,
|
|
||||||
},
|
},
|
||||||
|
addAndRemove && {
|
||||||
|
name: "Added",
|
||||||
|
value: added.map((role) => `<@&${role.id}> (${role.name})`).join("\n"),
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
|
addAndRemove && {
|
||||||
|
name: "Removed",
|
||||||
|
value: removed.map((role) => `<@&${role.id}> (${role.name})`).join("\n"),
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
|
entry.reason != null && {
|
||||||
|
name: "Reason",
|
||||||
|
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
||||||
|
},
|
||||||
|
].filter((x) => !!x),
|
||||||
|
footer: {
|
||||||
|
text: `Role ID${plural}: ${roles.map((role) => role.id).join(", ")}`,
|
||||||
},
|
},
|
||||||
],
|
},
|
||||||
})
|
],
|
||||||
.catch(() => {});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AuditLogActions.WEBHOOK_CREATE: {
|
case AuditLogActions.WEBHOOK_CREATE: {
|
||||||
channel
|
channel.createMessage({
|
||||||
.createMessage({
|
embeds: [
|
||||||
embeds: [
|
{
|
||||||
{
|
color: COLOR_ADDED,
|
||||||
color: COLOR_ADDED,
|
title: `${after.application_id != null ? "Application " : ""}Webhook Created`,
|
||||||
title: `${entry.after.application_id != null ? "Application " : ""}Webhook Created`,
|
description: `<@${entry.user.id}> (${formatUsername(
|
||||||
description: `<@${entry.user.id}> (${formatUsername(
|
entry.user
|
||||||
entry.user
|
)}) created webhook \`${after.name.replaceAll("`", "\u02cb")}\` in <#${entry.after.channel_id}> (${
|
||||||
)}) created webhook \`${entry.after.name.replaceAll("`", "\u02cb")}\` in <#${
|
entry.guild.channels.get(after.channel_id)?.name ?? "<uncached>"
|
||||||
entry.after.channel_id
|
})`,
|
||||||
}> (${entry.guild.channels.get(entry.after.channel_id)?.name ?? "<uncached>"})`,
|
fields: [
|
||||||
fields: [
|
after.application_id != null && {
|
||||||
entry.after.application_id != null && {
|
name: "Application ID",
|
||||||
name: "Application ID",
|
value: after.application_id,
|
||||||
value: entry.after.application_id,
|
inline: true,
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
entry.reason != null && {
|
|
||||||
name: "Reason",
|
|
||||||
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
|
||||||
},
|
|
||||||
].filter((x) => !!x),
|
|
||||||
footer: {
|
|
||||||
text: `Webhook ID: ${entry.targetID}`,
|
|
||||||
},
|
},
|
||||||
thumbnail:
|
entry.reason != null && {
|
||||||
entry.after.avatar_hash != null
|
name: "Reason",
|
||||||
? {
|
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
||||||
url: `https://cdn.discordapp.com/avatars/${entry.targetID}/${entry.after.avatar_hash}.png?size=4096`,
|
},
|
||||||
}
|
].filter((x) => !!x),
|
||||||
: null,
|
footer: {
|
||||||
|
text: `Webhook ID: ${entry.targetID}`,
|
||||||
},
|
},
|
||||||
],
|
thumbnail:
|
||||||
})
|
after.avatar_hash != null
|
||||||
.catch(() => {});
|
? {
|
||||||
|
url: `https://cdn.discordapp.com/avatars/${entry.targetID}/${after.avatar_hash}.png?size=4096`,
|
||||||
|
}
|
||||||
|
: null,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AuditLogActions.THREAD_CREATE: {
|
case AuditLogActions.THREAD_CREATE: {
|
||||||
channel
|
channel.createMessage({
|
||||||
.createMessage({
|
embeds: [
|
||||||
embeds: [
|
{
|
||||||
{
|
color: COLOR_ADDED,
|
||||||
color: COLOR_ADDED,
|
title: `${after.invitable != null ? "Private " : ""}Thread Created`,
|
||||||
title: `${entry.after.invitable != null ? "Private " : ""}Thread Created`,
|
description: `<#${entry.targetID}> (${after.name})`,
|
||||||
description: `<#${entry.targetID}> (${entry.after.name})`,
|
timestamp: new Date().toISOString(),
|
||||||
timestamp: new Date().toISOString(),
|
fields: [
|
||||||
fields: [
|
{
|
||||||
{
|
name: "Created by",
|
||||||
name: "Created by",
|
value: `<@${entry.user.id}> (${formatUsername(entry.user)})`,
|
||||||
value: `<@${entry.user.id}> (${formatUsername(entry.user)})`,
|
inline: true,
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
entry.target?.parentID != null && {
|
|
||||||
name: "Parent Channel",
|
|
||||||
value: `<#${entry.target.parentID}> (${
|
|
||||||
entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
|
|
||||||
})`,
|
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
entry.reason != null && {
|
|
||||||
name: "Reason",
|
|
||||||
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
|
||||||
},
|
|
||||||
].filter((x) => !!x),
|
|
||||||
footer: {
|
|
||||||
text: `Thread ID: ${entry.targetID}`,
|
|
||||||
},
|
},
|
||||||
|
entry.target?.parentID != null && {
|
||||||
|
name: "Parent Channel",
|
||||||
|
value: `<#${entry.target.parentID}> (${
|
||||||
|
entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
|
||||||
|
})`,
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
|
entry.reason != null && {
|
||||||
|
name: "Reason",
|
||||||
|
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
||||||
|
},
|
||||||
|
].filter((x) => !!x),
|
||||||
|
footer: {
|
||||||
|
text: `Thread ID: ${entry.targetID}`,
|
||||||
},
|
},
|
||||||
],
|
},
|
||||||
})
|
],
|
||||||
.catch(() => {});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AuditLogActions.THREAD_UPDATE: {
|
case AuditLogActions.THREAD_UPDATE: {
|
||||||
const parentChannel = entry.guild.channels.get(entry.target.parentID);
|
const parentChannel = entry.guild.channels.get(entry.target.parentID);
|
||||||
|
|
||||||
let tagDiff;
|
let tagDiff;
|
||||||
if (entry.after.applied_tags != null) {
|
if (after.applied_tags != null) {
|
||||||
const newTags = new Set(entry.after.applied_tags);
|
const newTags = new Set(after.applied_tags);
|
||||||
const oldTags = new Set(entry.before.applied_tags ?? []);
|
const oldTags = new Set(before.applied_tags ?? []);
|
||||||
|
|
||||||
let addedTags = Array.from(newTags.difference(oldTags));
|
let addedTags = Array.from(newTags.difference(oldTags));
|
||||||
let removedTags = Array.from(oldTags.difference(newTags));
|
let removedTags = Array.from(oldTags.difference(newTags));
|
||||||
|
@ -587,104 +588,103 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) {
|
||||||
tagDiff += "```";
|
tagDiff += "```";
|
||||||
}
|
}
|
||||||
|
|
||||||
channel
|
let verb = "updated";
|
||||||
.createMessage({
|
if (before.locked === true && after.locked === false) {
|
||||||
embeds: [
|
verb = "unlocked";
|
||||||
{
|
} else if (before.locked === false && after.locked === true) {
|
||||||
color: COLOR_CHANGED,
|
verb = "locked";
|
||||||
title: `${
|
} else if (before.archived === true && after.archived === false) {
|
||||||
entry.target != null && entry.target instanceof PrivateThreadChannel ? "Private " : ""
|
verb = "unarchived";
|
||||||
}Thread Updated`,
|
} else if (before.archived === false && after.archived === true) {
|
||||||
description: `<#${entry.targetID}>${entry.target?.name != null ? ` (${entry.target.name})` : ""} ${
|
verb = "archived";
|
||||||
entry.before.locked === true && entry.after.locked === false
|
} else if (before.invitable === false && after.invitable === true) {
|
||||||
? "unlocked"
|
verb = "enabled mention inviting for";
|
||||||
: entry.before.locked === false && entry.after.locked === true
|
} else if (before.invitable === true && after.invitable === false) {
|
||||||
? "locked"
|
verb = "disabled mention inviting for";
|
||||||
: entry.before.archived === true && entry.after.archived === false
|
}
|
||||||
? "unarchived"
|
|
||||||
: entry.before.archived === false && entry.after.archived === true
|
channel.createMessage({
|
||||||
? "archived"
|
embeds: [
|
||||||
: entry.before.invitable === false && entry.after.invitable === true
|
{
|
||||||
? "mention inviting enabled"
|
color: COLOR_CHANGED,
|
||||||
: entry.before.invitable === true && entry.after.invitable === false
|
title: `${
|
||||||
? "mention inviting disabled"
|
entry.target != null && entry.target instanceof PrivateThreadChannel ? "Private " : ""
|
||||||
: "updated"
|
}Thread Updated`,
|
||||||
} by <@${entry.user.id}> (${formatUsername(entry.user)})`,
|
description: `<@${entry.user.id}> (${formatUsername(entry.user)}) ${verb} <#${entry.targetID}>${
|
||||||
timestamp: new Date().toISOString(),
|
entry.target?.name != null ? ` (${entry.target.name})` : ""
|
||||||
fields: [
|
}`,
|
||||||
entry.after.name != null && {
|
timestamp: new Date().toISOString(),
|
||||||
name: "Name",
|
fields: [
|
||||||
value: `\`${entry.before.name}\` -> \`${entry.after.name}\``,
|
after.name != null && {
|
||||||
inline: true,
|
name: "Name",
|
||||||
},
|
value: formatChange(before.name, after.name),
|
||||||
entry.target?.parentID != null && {
|
inline: true,
|
||||||
name: "Parent Channel",
|
|
||||||
value: `<#${entry.target.parentID}> (${parentChannel?.name ?? "<uncached>"})`,
|
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
entry.after.auto_archive_duration != null && {
|
|
||||||
name: "Hide After Inactivity",
|
|
||||||
value: `\`${entry.before.auto_archive_duration}\` -> \`${entry.after.auto_archive_duration}\``,
|
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
entry.after.rate_limit_per_user != null && {
|
|
||||||
name: "Slowmode",
|
|
||||||
value: `\`${entry.before.rate_limit_per_user}\` -> \`${entry.after.rate_limit_per_user}\``,
|
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
tagDiff != null && {
|
|
||||||
name: "Tags",
|
|
||||||
value: tagDiff,
|
|
||||||
inline: false,
|
|
||||||
},
|
|
||||||
entry.reason != null && {
|
|
||||||
name: "Reason",
|
|
||||||
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
|
||||||
},
|
|
||||||
].filter((x) => !!x),
|
|
||||||
footer: {
|
|
||||||
text: `Thread ID: ${entry.targetID}`,
|
|
||||||
},
|
},
|
||||||
|
entry.target?.parentID != null && {
|
||||||
|
name: "Parent Channel",
|
||||||
|
value: `<#${entry.target.parentID}> (${parentChannel?.name ?? "<uncached>"})`,
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
|
entry.after.auto_archive_duration != null && {
|
||||||
|
name: "Hide After Inactivity",
|
||||||
|
value: `\`${entry.before.auto_archive_duration}\` -> \`${entry.after.auto_archive_duration}\``,
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
|
entry.after.rate_limit_per_user != null && {
|
||||||
|
name: "Slowmode",
|
||||||
|
value: `\`${entry.before.rate_limit_per_user}\` -> \`${entry.after.rate_limit_per_user}\``,
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
|
tagDiff != null && {
|
||||||
|
name: "Tags",
|
||||||
|
value: tagDiff,
|
||||||
|
inline: false,
|
||||||
|
},
|
||||||
|
entry.reason != null && {
|
||||||
|
name: "Reason",
|
||||||
|
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
||||||
|
},
|
||||||
|
].filter((x) => !!x),
|
||||||
|
footer: {
|
||||||
|
text: `Thread ID: ${entry.targetID}`,
|
||||||
},
|
},
|
||||||
],
|
},
|
||||||
})
|
],
|
||||||
.catch(() => {});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AuditLogActions.THREAD_DELETE: {
|
case AuditLogActions.THREAD_DELETE: {
|
||||||
channel
|
channel.createMessage({
|
||||||
.createMessage({
|
embeds: [
|
||||||
embeds: [
|
{
|
||||||
{
|
color: COLOR_REMOVED,
|
||||||
color: COLOR_REMOVED,
|
title: `${entry.before.invitable != null ? "Private " : ""}Thread Deleted`,
|
||||||
title: `${entry.before.invitable != null ? "Private " : ""}Thread Deleted`,
|
description: `<#${entry.targetID}> (${entry.before.name})`,
|
||||||
description: `<#${entry.targetID}> (${entry.before.name})`,
|
timestamp: new Date().toISOString(),
|
||||||
timestamp: new Date().toISOString(),
|
fields: [
|
||||||
fields: [
|
{
|
||||||
{
|
name: "Deleted by",
|
||||||
name: "Deleted by",
|
value: `<@${entry.user.id}> (${formatUsername(entry.user)})`,
|
||||||
value: `<@${entry.user.id}> (${formatUsername(entry.user)})`,
|
inline: true,
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
entry.target?.parentID != null && {
|
|
||||||
name: "Parent Channel",
|
|
||||||
value: `<#${entry.target.parentID}> (${
|
|
||||||
entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
|
|
||||||
})`,
|
|
||||||
inline: true,
|
|
||||||
},
|
|
||||||
entry.reason != null && {
|
|
||||||
name: "Reason",
|
|
||||||
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
|
||||||
},
|
|
||||||
].filter((x) => !!x),
|
|
||||||
footer: {
|
|
||||||
text: `Thread ID: ${entry.targetID}`,
|
|
||||||
},
|
},
|
||||||
|
entry.target?.parentID != null && {
|
||||||
|
name: "Parent Channel",
|
||||||
|
value: `<#${entry.target.parentID}> (${
|
||||||
|
entry.guild.channels.get(entry.target.parentID)?.name ?? "<uncached>"
|
||||||
|
})`,
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
|
entry.reason != null && {
|
||||||
|
name: "Reason",
|
||||||
|
value: `\`${entry.reason.replaceAll("`", "\u02cb")}\``,
|
||||||
|
},
|
||||||
|
].filter((x) => !!x),
|
||||||
|
footer: {
|
||||||
|
text: `Thread ID: ${entry.targetID}`,
|
||||||
},
|
},
|
||||||
],
|
},
|
||||||
})
|
],
|
||||||
.catch(() => {});
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue