diff --git a/payphone/bot.py b/payphone/bot.py index 99388e9..836a8b3 100644 --- a/payphone/bot.py +++ b/payphone/bot.py @@ -246,16 +246,22 @@ class Payphone(commands.AutoShardedBot): @transactions.atomic() async def unban( - self, user: discord.User | discord.Member | models.User | int + self, + user: discord.User | discord.Member | models.User | int, + unbanned_by: discord.User | discord.Member | models.User | int | None = None, ) -> None: """Unbans a user from Payphone. Args: user (discord.User | discord.Member | models.User | int): The user to unban or their ID. + unbanned_by (discord.User | discord.Member | models.User | int | None, optional): The + moderator who unbanned the user or their ID. """ user_id = user if isinstance(user, int) else user.id + unbanned_by_id = unbanned_by if isinstance(unbanned_by, int) else unbanned_by.id + key = constants.BAN_TEMPLATE % user_id await models.Ban.filter( @@ -265,7 +271,7 @@ class Payphone(commands.AutoShardedBot): join_type="OR", ), user_id=user_id, - ).update(expires_at=datetime.now(timezone.utc)) + ).update(expires_at=datetime.now(timezone.utc), unbanned_by_id=unbanned_by_id) await self.redis.set(key, "0", ex=300) diff --git a/payphone/cogs/mods/cog.py b/payphone/cogs/mods/cog.py index 75415fd..02727ee 100644 --- a/payphone/cogs/mods/cog.py +++ b/payphone/cogs/mods/cog.py @@ -100,7 +100,7 @@ class Mods(base.Cog): user_id = user - await self.bot.unban(user_id) + await self.bot.unban(user_id, ctx.author) profile = await models.Profile.filter(user_id=user_id).limit(1).first()