From f142e0b8cf2b0369f4ed6b3cd0459e7e334bd310 Mon Sep 17 00:00:00 2001 From: Slipstream Date: Wed, 11 Jun 2025 12:47:17 -0600 Subject: [PATCH] Fix emoji logging for partial objects (#8) Reviewed-on: https://git.slipstreamm.dev/slipstream/discordbot/pulls/8 Co-authored-by: Slipstream Co-committed-by: Slipstream --- cogs/logging_cog.py | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/cogs/logging_cog.py b/cogs/logging_cog.py index 0a8675c..cfda99b 100644 --- a/cogs/logging_cog.py +++ b/cogs/logging_cog.py @@ -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: