Fix audit log emoji handling for partial objects

This commit is contained in:
Slipstream 2025-06-11 18:38:26 +00:00
parent 216ade503b
commit 939667d2df
Signed by: slipstream
GPG Key ID: 13E498CE010AC6FD

View File

@ -2220,7 +2220,12 @@ class LoggingCog(commands.Cog):
return
title = "🛡️ Audit Log: Emoji Created"
emoji = target
action_desc = f"{user.mention} created emoji {emoji} (`{emoji.name}`)"
emoji_name = getattr(emoji, "name", None)
if emoji_name:
action_desc = f"{user.mention} created emoji {emoji} (`{emoji_name}`)"
else:
emoji_id = getattr(emoji, "id", "unknown")
action_desc = f"{user.mention} created emoji with ID `{emoji_id}`"
color = discord.Color.magenta()
# self._add_id_footer(embed, emoji, id_name="Emoji ID") # Footer set later
elif entry.action == discord.AuditLogAction.emoji_delete:
@ -2228,9 +2233,14 @@ class LoggingCog(commands.Cog):
if not await self._check_log_enabled(guild.id, audit_event_key):
return
title = "🛡️ Audit Log: Emoji Deleted"
emoji_name = entry.before.name
emoji_id = entry.target.id
action_desc = f"{user.mention} deleted emoji `{emoji_name}` ({emoji_id})"
emoji_name = getattr(entry.before, "name", None)
emoji_id = getattr(entry.target, "id", "unknown")
if emoji_name:
action_desc = (
f"{user.mention} deleted emoji `{emoji_name}` ({emoji_id})"
)
else:
action_desc = f"{user.mention} deleted an emoji (ID: {emoji_id})"
color = discord.Color.dark_magenta()
# self._add_id_footer(embed, obj_id=emoji_id, id_name="Emoji ID") # Footer set later
elif entry.action == discord.AuditLogAction.emoji_update:
@ -2244,7 +2254,12 @@ class LoggingCog(commands.Cog):
and hasattr(entry.after, "name")
and entry.before.name != entry.after.name
):
action_desc = f"{user.mention} renamed emoji `{entry.before.name}` to {emoji} (`{emoji.name}`)"
emoji_name_after = getattr(emoji, "name", None)
if emoji_name_after:
action_desc = f"{user.mention} renamed emoji `{entry.before.name}` to {emoji} (`{emoji_name_after}`)"
else:
emoji_id = getattr(emoji, "id", "unknown")
action_desc = f"{user.mention} renamed emoji `{entry.before.name}` (ID: {emoji_id})"
color = discord.Color.magenta()
# self._add_id_footer(embed, emoji, id_name="Emoji ID") # Footer set later
else: