Logs - role change compare only role IDs instead of a collection (#264)

This commit is contained in:
metal 2021-09-04 17:15:16 +01:00 committed by GitHub
parent e73d6d4e1c
commit 2d777a03db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 5 deletions

View file

@ -14,8 +14,8 @@ export const RunAutomodOnMemberUpdate = typedGuildEventListener<AutomodPluginTyp
if (isEqual(oldRoles, newRoles)) return; if (isEqual(oldRoles, newRoles)) return;
const addedRoles = diff(oldRoles, newRoles); const addedRoles = diff(newRoles, oldRoles);
const removedRoles = diff(newRoles, oldRoles); const removedRoles = diff(oldRoles, newRoles);
if (addedRoles.length || removedRoles.length) { if (addedRoles.length || removedRoles.length) {
const context: AutomodContext = { const context: AutomodContext = {

View file

@ -17,6 +17,8 @@ export const LogsGuildMemberUpdateEvt = logsEvt({
const pluginData = meta.pluginData; const pluginData = meta.pluginData;
const oldMember = meta.args.oldMember; const oldMember = meta.args.oldMember;
const member = meta.args.newMember; const member = meta.args.newMember;
const oldRoles = [...oldMember.roles.cache.keys()];
const currentRoles = [...member.roles.cache.keys()];
if (!oldMember || oldMember.partial) { if (!oldMember || oldMember.partial) {
return; return;
@ -30,9 +32,9 @@ export const LogsGuildMemberUpdateEvt = logsEvt({
}); });
} }
if (!isEqual(oldMember.roles, member.roles)) { if (!isEqual(oldRoles, currentRoles)) {
const addedRoles = diff([...member.roles.cache.keys()], [...oldMember.roles.cache.keys()]); const addedRoles = diff(currentRoles, oldRoles);
const removedRoles = diff([...oldMember.roles.cache.keys()], [...member.roles.cache.keys()]); const removedRoles = diff(oldRoles, currentRoles);
let skip = false; let skip = false;
if ( if (