Compare commits

...

2 commits

Author SHA1 Message Date
54ac77ceb9
fix(aurora): fix `__str__() method of the Type` class
Some checks failed
Actions / Build Documentation (MkDocs) (pull_request) Failing after 26s
Actions / Lint Code (Ruff & Pylint) (pull_request) Failing after 39s
2024-07-06 12:16:15 -04:00
b85932c338
feat(aurora): use resolve handlers 2024-07-06 12:15:39 -04:00
2 changed files with 20 additions and 19 deletions

View file

@ -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, {

View file

@ -12,7 +12,7 @@ class Type(object):
embed_desc = "been"
def __str__(self) -> str:
return self.type
return self.moderation_type
@classmethod
async def handler(cls, ctx: commands.Context, target: Member | User, silent: bool, **kwargs) -> 'Type': # pylint: disable=unused-argument