From b85932c33876ead7b742901c29c1da46fba185a9 Mon Sep 17 00:00:00 2001 From: Seaswimmer Date: Sat, 6 Jul 2024 12:15:39 -0400 Subject: [PATCH] feat(aurora): use resolve handlers --- aurora/models/moderation.py | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/aurora/models/moderation.py b/aurora/models/moderation.py index f2c8045..0fc2c1b 100644 --- a/aurora/models/moderation.py +++ b/aurora/models/moderation.py @@ -7,7 +7,6 @@ from typing import Dict, Iterable, List, Optional, Tuple, Union import discord from aiosqlite import Connection, Cursor, OperationalError, Row from aiosqlite import connect as aiosqlite_connect -from discord import NotFound from redbot.core import data_manager from redbot.core.bot import Red @@ -82,26 +81,28 @@ class Moderation(AuroraGuildModel): self.resolved_by = resolved_by self.resolve_reason = reason - if self.type in ["UNMUTE", "UNBAN"]: - raise TypeError("Cannot resolve an unmute or unban case!") + await self.type.resolve_handler(self.bot, self.guild, await self.get_target(), reason) - if self.type == "MUTE": - try: - guild: discord.Guild = await self.bot.fetch_guild(self.guild_id) - member = await guild.fetch_member(self.target_id) + # if self.type in ["UNMUTE", "UNBAN"]: + # raise TypeError("Cannot resolve an unmute or unban case!") - await member.timeout( - None, reason=f"Case {self.moderation_id} resolved by {resolved_by}{' for '+ reason if reason else ''}" - ) - except NotFound: - pass + # if self.type == "MUTE": + # try: + # guild: discord.Guild = await self.bot.fetch_guild(self.guild_id) + # member = await guild.fetch_member(self.target_id) - if self.type in ["BAN", "TEMPBAN"]: - try: - guild: discord.Guild = await self.bot.fetch_guild(self.guild_id) - await guild.unban(await self.get_target(), reason=f"Case {self.moderation_id} resolved by {resolved_by}{' for '+ reason if reason else ''}") - except NotFound: - pass + # await member.timeout( + # None, reason=f"Case {self.moderation_id} resolved by {resolved_by}{' for '+ reason if reason else ''}" + # ) + # except NotFound: + # pass + + # if self.type in ["BAN", "TEMPBAN"]: + # try: + # guild: discord.Guild = await self.bot.fetch_guild(self.guild_id) + # await guild.unban(await self.get_target(), reason=f"Case {self.moderation_id} resolved by {resolved_by}{' for '+ reason if reason else ''}") + # except NotFound: + # pass if not self.changes: self.changes.append(Change.from_dict(self.bot, {