Finish the addrole/removerole commands and surrounding functionality #24

Merged
cswimr merged 22 commits from addrole into main 2024-05-03 21:46:14 -04:00
Showing only changes of commit 752a41855a - Show all commits

View file

@ -18,7 +18,8 @@ from redbot.core import app_commands, commands, data_manager
from redbot.core.app_commands import Choice from redbot.core.app_commands import Choice
from redbot.core.bot import Red from redbot.core.bot import Red
from redbot.core.commands.converter import parse_relativedelta, parse_timedelta from redbot.core.commands.converter import parse_relativedelta, parse_timedelta
from redbot.core.utils.chat_formatting import box, error, humanize_list, humanize_timedelta, warning from redbot.core.utils.chat_formatting import (box, error, humanize_list,
humanize_timedelta, warning)
from aurora.importers.aurora import ImportAuroraView from aurora.importers.aurora import ImportAuroraView
from aurora.importers.galacticbot import ImportGalacticBotView from aurora.importers.galacticbot import ImportGalacticBotView
@ -27,10 +28,18 @@ from aurora.menus.guild import Guild
from aurora.menus.immune import Immune from aurora.menus.immune import Immune
from aurora.menus.overrides import Overrides from aurora.menus.overrides import Overrides
from aurora.utilities.config import config, register_config from aurora.utilities.config import config, register_config
from aurora.utilities.database import connect, create_guild_table, fetch_case, mysql_log from aurora.utilities.database import (connect, create_guild_table, fetch_case,
from aurora.utilities.factory import addrole_embed, case_factory, changes_factory, evidenceformat_factory, guild_embed, immune_embed, message_factory, overrides_embed mysql_log)
from aurora.utilities.factory import (addrole_embed, case_factory,
changes_factory, evidenceformat_factory,
guild_embed, immune_embed,
message_factory, overrides_embed)
from aurora.utilities.logger import logger from aurora.utilities.logger import logger
from aurora.utilities.utils import check_moddable, check_permissions, convert_timedelta_to_str, fetch_channel_dict, fetch_user_dict, generate_dict, log, send_evidenceformat, timedelta_from_relativedelta from aurora.utilities.utils import (check_moddable, check_permissions,
convert_timedelta_to_str,
fetch_channel_dict, fetch_user_dict,
generate_dict, log, send_evidenceformat,
timedelta_from_relativedelta)
class Aurora(commands.Cog): class Aurora(commands.Cog):
@ -386,10 +395,10 @@ class Aurora(commands.Cog):
await target.add_roles( await target.add_roles(
role, role,
reason=f"Role added by {interaction.user.id}{' for ' + {humanize_timedelta(timedelta=parsed_time)} if parsed_time != 'NULL' else ''} for: {reason}", reason=f"Role added by {interaction.user.id}{' for ' + humanize_timedelta(timedelta=parsed_time) if parsed_time != 'NULL' else ''} for: {reason}",
) )
response: discord.WebhookMessage = await interaction.followup.send( response: discord.WebhookMessage = await interaction.followup.send(
content=f"{target.mention} has been given the {role.mention} role{' for ' + {humanize_timedelta(timedelta=parsed_time)} if parsed_time != 'NULL' else ''}!\n**Reason** - `{reason}`" content=f"{target.mention} has been given the {role.mention} role{' for ' + humanize_timedelta(timedelta=parsed_time) if parsed_time != 'NULL' else ''}!\n**Reason** - `{reason}`"
) )
moderation_id = await mysql_log( moderation_id = await mysql_log(
@ -403,7 +412,7 @@ class Aurora(commands.Cog):
reason, reason,
) )
await response.edit( await response.edit(
content=f"{target.mention} has been given the {role.mention} role{' for ' + {humanize_timedelta(timedelta=parsed_time)} if parsed_time != 'NULL' else ''}! (Case `#{moderation_id:,}`)\n**Reason** - `{reason}`", content=f"{target.mention} has been given the {role.mention} role{' for ' + humanize_timedelta(timedelta=parsed_time) if parsed_time != 'NULL' else ''}! (Case `#{moderation_id:,}`)\n**Reason** - `{reason}`",
) )
await log(interaction, moderation_id) await log(interaction, moderation_id)
@ -492,10 +501,10 @@ class Aurora(commands.Cog):
await target.add_roles( await target.add_roles(
role, role,
reason=f"Role removed by {interaction.user.id}{' for ' + {humanize_timedelta(timedelta=parsed_time)} if parsed_time != 'NULL' else ''} for: {reason}", reason=f"Role removed by {interaction.user.id}{' for ' + humanize_timedelta(timedelta=parsed_time) if parsed_time != 'NULL' else ''} for: {reason}",
) )
response: discord.WebhookMessage = await interaction.followup.send( response: discord.WebhookMessage = await interaction.followup.send(
content=f"{target.mention} has had the {role.mention} role removed{' for ' + {humanize_timedelta(timedelta=parsed_time)} if parsed_time != 'NULL' else ''}!\n**Reason** - `{reason}`" content=f"{target.mention} has had the {role.mention} role removed{' for ' + humanize_timedelta(timedelta=parsed_time) if parsed_time != 'NULL' else ''}!\n**Reason** - `{reason}`"
) )
moderation_id = await mysql_log( moderation_id = await mysql_log(
@ -509,7 +518,7 @@ class Aurora(commands.Cog):
reason, reason,
) )
await response.edit( await response.edit(
content=f"{target.mention} has had the {role.mention} role removed{' for ' + {humanize_timedelta(timedelta=parsed_time)} if parsed_time != 'NULL' else ''}! (Case `#{moderation_id:,}`)\n**Reason** - `{reason}`", content=f"{target.mention} has had the {role.mention} role removed{' for ' + humanize_timedelta(timedelta=parsed_time) if parsed_time != 'NULL' else ''}! (Case `#{moderation_id:,}`)\n**Reason** - `{reason}`",
) )
await log(interaction, moderation_id) await log(interaction, moderation_id)