diff --git a/aurora/models/change.py b/aurora/models/change.py index b5c8ef8..c02fb00 100644 --- a/aurora/models/change.py +++ b/aurora/models/change.py @@ -22,6 +22,12 @@ class Change(AuroraBaseModel): def unix_timestamp(self) -> int: return int(self.timestamp.timestamp()) + @property + def unix_end_timestamp(self) -> Optional[int]: + if self.end_timestamp: + return int(self.end_timestamp.timestamp()) + return None + def __str__(self): return f"{self.type} {self.user_id} {self.reason}" diff --git a/aurora/utilities/factory.py b/aurora/utilities/factory.py index 4abad0a..039e252 100644 --- a/aurora/utilities/factory.py +++ b/aurora/utilities/factory.py @@ -261,19 +261,18 @@ 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 + end_timestamp = f" | " if change.end_timestamp else None 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('Reason:')} {change.reason}" if change.reason else None, + f"{bold('Duration:')} {humanize_timedelta(timedelta=change.duration)}" if change.duration else None, + f"{bold('End Timestamp:')} {end_timestamp}" if end_timestamp else None, f"{bold('Timestamp')} {timestamp}", ] - try: - change_str.remove("") - except ValueError: - pass + for string in change_str: + if string is None: + change_str.remove(string) embed.add_field( name=change.type.title(),