Fix emoji logging for partial objects (#8)

Reviewed-on: #8
Co-authored-by: Slipstream <me@slipstreamm.dev>
Co-committed-by: Slipstream <me@slipstreamm.dev>
This commit is contained in:
Slipstream 2025-06-11 12:47:17 -06:00 committed by slipstream
parent 216ade503b
commit f142e0b8cf

View File

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