feat(aurora): use resolve handlers

This commit is contained in:
Seaswimmer 2024-07-06 12:15:39 -04:00
parent 08512d0dad
commit b85932c338
Signed by: cswimr
GPG key ID: 3813315477F26F82

View file

@ -7,7 +7,6 @@ from typing import Dict, Iterable, List, Optional, Tuple, Union
import discord import discord
from aiosqlite import Connection, Cursor, OperationalError, Row from aiosqlite import Connection, Cursor, OperationalError, Row
from aiosqlite import connect as aiosqlite_connect from aiosqlite import connect as aiosqlite_connect
from discord import NotFound
from redbot.core import data_manager from redbot.core import data_manager
from redbot.core.bot import Red from redbot.core.bot import Red
@ -82,26 +81,28 @@ class Moderation(AuroraGuildModel):
self.resolved_by = resolved_by self.resolved_by = resolved_by
self.resolve_reason = reason self.resolve_reason = reason
if self.type in ["UNMUTE", "UNBAN"]: await self.type.resolve_handler(self.bot, self.guild, await self.get_target(), reason)
raise TypeError("Cannot resolve an unmute or unban case!")
if self.type == "MUTE": # if self.type in ["UNMUTE", "UNBAN"]:
try: # raise TypeError("Cannot resolve an unmute or unban case!")
guild: discord.Guild = await self.bot.fetch_guild(self.guild_id)
member = await guild.fetch_member(self.target_id)
await member.timeout( # if self.type == "MUTE":
None, reason=f"Case {self.moderation_id} resolved by {resolved_by}{' for '+ reason if reason else ''}" # try:
) # guild: discord.Guild = await self.bot.fetch_guild(self.guild_id)
except NotFound: # member = await guild.fetch_member(self.target_id)
pass
if self.type in ["BAN", "TEMPBAN"]: # await member.timeout(
try: # None, reason=f"Case {self.moderation_id} resolved by {resolved_by}{' for '+ reason if reason else ''}"
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:
except NotFound: # pass
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: if not self.changes:
self.changes.append(Change.from_dict(self.bot, { self.changes.append(Change.from_dict(self.bot, {