From 445ff2b118722a572bebcc86abc337a4702834b6 Mon Sep 17 00:00:00 2001 From: Cynthia Foxwell Date: Wed, 23 Apr 2025 21:27:42 -0600 Subject: [PATCH] logging: member role update --- src/modules/logging.js | 43 +++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/src/modules/logging.js b/src/modules/logging.js index 311a5fd..0304a9d 100644 --- a/src/modules/logging.js +++ b/src/modules/logging.js @@ -33,7 +33,6 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) { case AuditLogActions.MEMBER_BAN_ADD: case AuditLogActions.MEMBER_BAN_REMOVE: case AuditLogActions.MEMBER_UPDATE: - case AuditLogActions.MEMBER_ROLE_UPDATE: case AuditLogActions.BOT_ADD: case AuditLogActions.ROLE_CREATE: case AuditLogActions.ROLE_UPDATE: @@ -73,6 +72,36 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) { .catch(() => {}); break; } + case AuditLogActions.MEMBER_ROLE_UPDATE: { + const added = entry.after.$add != null; + const isSelf = entry.user.id === entry.targetID; + const role = (entry.after.$add ?? entry.after.$remove)[0]; + + channel + .createMessage({ + embeds: [ + { + color: added ? COLOR_ADDED : COLOR_REMOVED, + title: `Member Role Updated`, + description: `<@${entry.user.id}> (${formatUsername(entry.user)}) ${added ? "added" : "removed"} role ${ + added ? "to" : "from" + } ${isSelf ? "self" : `<@${entry.targetID}> (${formatUsername(entry.target.user)})`}`, + timestamp: new Date().toISOString(), + fields: [ + { + name: "Role", + value: `<@&${role.id}> (${role.name})`, + }, + ], + footer: { + text: `Role ID: ${role.id}`, + }, + }, + ], + }) + .catch(() => {}); + break; + } } }); @@ -138,7 +167,7 @@ events.add("guildMemberAdd", "logging", async function (guild, member) { { color: COLOR_ADDED, title: "Member Joined", - description: `<@${user.id}> ${formatUsername(user)}`, + description: `<@${user.id}> (${formatUsername(user)})`, timestamp: new Date().toISOString(), thumbnail: { url: avatar, @@ -172,7 +201,7 @@ events.add("guildMemberAdd", "logging", async function (guild, member) { }, ].filter((x) => !!x), footer: { - text: user.id, + text: `User ID: ${user.id}`, }, }, ], @@ -197,7 +226,7 @@ events.add("guildMemberRemove", "logging", async function (guild, member) { { color: COLOR_REMOVED, title: "Member Left", - description: `<@${user.id}> ${formatUsername(user)}`, + description: `<@${user.id}> (${formatUsername(user)})`, timestamp, thumbnail: { url: avatar, @@ -223,7 +252,7 @@ events.add("guildMemberRemove", "logging", async function (guild, member) { }, ].filter((x) => !!x), footer: { - text: user.id, + text: `User ID: ${user.id}`, }, }, ], @@ -240,13 +269,13 @@ events.add("guildMemberRemove", "logging", async function (guild, member) { { color: COLOR_REMOVED, title: "Member Left", - description: `-# Uncached member, limited info\n<@${user.id}> ${formatUsername(user)}`, + description: `-# Uncached member, limited info\n<@${user.id}> (${formatUsername(user)})`, timestamp, thumbnail: { url: avatar, }, footer: { - text: user.id, + text: `User ID: ${user.id}`, }, }, ],