diff --git a/src/modules/logging.js b/src/modules/logging.js index 8498186..45866a8 100644 --- a/src/modules/logging.js +++ b/src/modules/logging.js @@ -133,26 +133,29 @@ events.add("guildAuditLogEntryCreate", "logging", async function (entry) { 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]; + const roles = entry.after.$add ?? entry.after.$remove; + const plural = roles.length > 1 ? "s" : ""; 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)})`}`, + title: `Member Role${plural} Updated`, + description: `<@${entry.user.id}> (${formatUsername(entry.user)}) ${added ? "added" : "removed"} ${ + roles.length > 1 ? `${roles.length} ` : "" + }role${plural} ${added ? "to" : "from"} ${ + isSelf ? "self" : `<@${entry.targetID}> (${formatUsername(entry.target.user)})` + }`, timestamp: new Date().toISOString(), fields: [ { - name: "Role", - value: `<@&${role.id}> (${role.name})`, + name: `Role${plural}`, + value: roles.map((role) => `<@&${role.id}> (${role.name})`).join("\n"), }, ], footer: { - text: `Role ID: ${role.id}`, + text: `Role ID${plural}: ${roles.map((role) => role.id).join(", ")}`, }, }, ],