diff --git a/aurora/utilities/factory.py b/aurora/utilities/factory.py index b45b68a..ebb93d8 100644 --- a/aurora/utilities/factory.py +++ b/aurora/utilities/factory.py @@ -5,7 +5,7 @@ from typing import Union from discord import Color, Embed, Guild, Interaction, Member, Message, Role, User from redbot.core import commands from redbot.core.bot import Red -from redbot.core.utils.chat_formatting import bold, box, error, humanize_timedelta, warning +from redbot.core.utils.chat_formatting import bold, box, error, humanize_timedelta, inline, warning from ..models.moderation import Moderation from ..models.partials import PartialUser @@ -261,27 +261,22 @@ async def changes_factory(interaction: Interaction, moderation: Moderation) -> E user: PartialUser = memory_dict[str(change.user_id)] timestamp = f" | " + end_timestamp = f" | " if change.end_timestamp else None - if change.type == "ORIGINAL": - embed.add_field( - name="Original", - value=f"**User:** `{user.name}` ({user.id})\n**Reason:** {change.reason}\n**Timestamp:** {timestamp}", - inline=False, - ) + change_str = [ + f"{bold("User:")} {inline(user.name)} ({user.id})", + f"{bold("Reason:")} {change.reason}" if change.reason else "", + f"{bold('Duration:')} {humanize_timedelta(timedelta=change.duration)}" if change.duration else "", + f"{bold('End Timestamp:')} {end_timestamp}" if end_timestamp else "", + f"{bold("Timestamp:")} {timestamp}", + ] + change_str.remove("") - elif change.type == "EDIT": - embed.add_field( - name="Edit", - value=f"**User:** `{user.name}` ({user.id})\n**Reason:** {change.reason}\n**Timestamp:** {timestamp}", - inline=False, - ) - - elif change.type == "RESOLVE": - embed.add_field( - name="Resolve", - value=f"**User:** `{user.name}` ({user.id})\n**Reason:** {change.reason}\n**Timestamp:** {timestamp}", - inline=False, - ) + embed.add_field( + name=change.type.title(), + value=change_str.join("\n"), + inline=False, + ) else: embed.description = "*No changes have been made to this case.* 🙁"