Remove reason from role changes

This commit is contained in:
Zeva Rose 2022-05-04 23:56:33 -06:00
parent ab71fa8b3c
commit 6a040a18d4

View file

@ -30,7 +30,7 @@ from naff.api.events.discord import (
)
from naff.api.events.internal import Button
from naff.client.errors import CommandCheckFailure, CommandOnCooldown, HTTPException
from naff.client.utils.misc_utils import find, find_all, get
from naff.client.utils.misc_utils import find_all, get
from naff.models.discord.channel import DMChannel
from naff.models.discord.embed import Embed, EmbedField
from naff.models.discord.enums import AuditLogEventType, Permissions
@ -328,31 +328,18 @@ class Jarvis(Client):
if before.roles == after.roles:
return
auditlog = await after.guild.fetch_audit_log(
user_id=before.id, action_type=AuditLogEventType.MEMBER_ROLE_UPDATE
)
new_roles = {}
removed_roles = {}
new_roles = []
removed_roles = []
for role in before.roles:
if role not in after.roles:
reason = "N/A"
for entry in auditlog.entries:
if find(lambda x: x.new_value == role.id, entry.changes):
reason = entry.reason
break
removed_roles[role] = reason
removed_roles.append(role)
for role in after.roles:
if role not in before.roles:
reason = "N/A"
for entry in auditlog.entries:
if find(lambda x: x.new_value == role.id, entry.changes):
reason = entry.reason
break
new_roles[role] = reason
new_roles.append(role)
new_text = "\n".join(f"{k.mention} [{v}]" for k, v in new_roles.items()) or "None"
removed_text = "\n".join(f"{k.mention} [{v}]" for k, v in removed_roles.items()) or "None"
new_text = "\n".join(role.mention for role in new_roles) or "None"
removed_text = "\n".join(role.mention for role in removed_roles) or "None"
fields = (
EmbedField(name="Added Roles", value=new_text),