WIP: Refactor Aurora (3.0.0) #29
1 changed files with 15 additions and 30 deletions
|
@ -2,13 +2,16 @@
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
from typing import Union
|
from typing import Union
|
||||||
|
|
||||||
from discord import Color, Embed, Guild, Interaction, InteractionMessage, Member, Role, User
|
from discord import (Color, Embed, Guild, Interaction, InteractionMessage,
|
||||||
|
Member, Role, User)
|
||||||
from redbot.core import commands
|
from redbot.core import commands
|
||||||
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, warning)
|
||||||
|
|
||||||
from aurora.models import Moderation, PartialUser
|
from aurora.models import Moderation, PartialUser
|
||||||
from aurora.utilities.config import config
|
from aurora.utilities.config import config
|
||||||
from aurora.utilities.utils import fetch_channel_dict, fetch_user_dict, get_bool_emoji, get_next_case_number, get_pagesize_str
|
from aurora.utilities.utils import (get_bool_emoji, get_next_case_number,
|
||||||
|
get_pagesize_str)
|
||||||
|
|
||||||
|
|
||||||
async def message_factory(
|
async def message_factory(
|
||||||
|
@ -258,40 +261,22 @@ async def changes_factory(interaction: Interaction, moderation: Moderation) -> E
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
async def evidenceformat_factory(interaction: Interaction, case_dict: dict) -> str:
|
async def evidenceformat_factory(interaction: Interaction, moderation: Moderation) -> str:
|
||||||
"""This function creates a codeblock in evidence format from set parameters.
|
"""This function creates a codeblock in evidence format from set parameters.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
interaction (Interaction): The interaction object.
|
interaction (discord.Interaction): The interaction object.
|
||||||
case_dict (dict): The case dictionary.
|
moderation (aurora.models.Moderation): The moderation object.
|
||||||
"""
|
"""
|
||||||
if case_dict["target_type"] == "USER":
|
target = await moderation.get_target()
|
||||||
target_user = await fetch_user_dict(interaction.client, case_dict["target_id"])
|
moderator = await moderation.get_moderator()
|
||||||
target_name = (
|
|
||||||
target_user["name"]
|
|
||||||
if target_user["discriminator"] == "0"
|
|
||||||
else f"{target_user['name']}#{target_user['discriminator']}"
|
|
||||||
)
|
|
||||||
|
|
||||||
elif case_dict["target_type"] == "CHANNEL":
|
content = f"Case: {moderation.id:,} ({str.title(moderation.type)})\nTarget: {target.name} ({target.id})\nModerator: {moderator.name} ({moderator.id})"
|
||||||
target_user = await fetch_channel_dict(interaction.guild, case_dict["target_id"])
|
|
||||||
target_name = target_user["name"]
|
|
||||||
|
|
||||||
moderator_user = await fetch_user_dict(interaction.client, case_dict["moderator_id"])
|
if moderation.duration is not None:
|
||||||
moderator_name = (
|
content += f"\nDuration: {humanize_timedelta(timedelta=moderation.duration)}"
|
||||||
moderator_user["name"]
|
|
||||||
if moderator_user["discriminator"] == "0"
|
|
||||||
else f"{moderator_user['name']}#{moderator_user['discriminator']}"
|
|
||||||
)
|
|
||||||
|
|
||||||
content = f"Case: {case_dict['moderation_id']:,} ({str.title(case_dict['moderation_type'])})\nTarget: {target_name} ({target_user['id']})\nModerator: {moderator_name} ({moderator_user['id']})"
|
content += f"\nReason: {moderation.reason}"
|
||||||
|
|
||||||
if case_dict["duration"] != "NULL":
|
|
||||||
hours, minutes, seconds = map(int, case_dict["duration"].split(":"))
|
|
||||||
td = timedelta(hours=hours, minutes=minutes, seconds=seconds)
|
|
||||||
content += f"\nDuration: {humanize_timedelta(timedelta=td)}"
|
|
||||||
|
|
||||||
content += f"\nReason: {case_dict['reason']}"
|
|
||||||
|
|
||||||
return box(content, "prolog")
|
return box(content, "prolog")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue