mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-12-07 09:52:30 -05:00
Allow enforcing reason to be filled in Mod cog commands (#6477)
Co-authored-by: Jakub Kuczys <me@jacken.men>
This commit is contained in:
@@ -117,6 +117,9 @@ class KickBanMixin(MixinMeta):
|
||||
|
||||
removed_temp = False
|
||||
|
||||
if reason is None and await self.config.guild(guild).require_reason():
|
||||
return False, _("You must provide a reason for the ban.")
|
||||
|
||||
if not (0 <= days <= 7):
|
||||
return False, _("Invalid days. Must be between 0 and 7.")
|
||||
|
||||
@@ -303,6 +306,10 @@ class KickBanMixin(MixinMeta):
|
||||
author = ctx.author
|
||||
guild = ctx.guild
|
||||
|
||||
if reason is None and await self.config.guild(guild).require_reason():
|
||||
await ctx.send(_("You must provide a reason for the kick."))
|
||||
return
|
||||
|
||||
if author == member:
|
||||
await ctx.send(
|
||||
_("I cannot let you do that. Self-harm is bad {emoji}").format(
|
||||
@@ -428,6 +435,10 @@ class KickBanMixin(MixinMeta):
|
||||
errors = {}
|
||||
upgrades = []
|
||||
|
||||
if reason is None and await self.config.guild(ctx.guild).require_reason():
|
||||
await ctx.send(_("You must provide a reason for the massban."))
|
||||
return
|
||||
|
||||
async def show_results():
|
||||
text = _("Banned {num} users from the server.").format(
|
||||
num=humanize_number(len(banned))
|
||||
@@ -605,6 +616,10 @@ class KickBanMixin(MixinMeta):
|
||||
guild = ctx.guild
|
||||
author = ctx.author
|
||||
|
||||
if reason is None and await self.config.guild(guild).require_reason():
|
||||
await ctx.send(_("You must provide a reason for the temporary ban."))
|
||||
return
|
||||
|
||||
if author == member:
|
||||
await ctx.send(
|
||||
_("I cannot let you do that. Self-harm is bad {}").format("\N{PENSIVE FACE}")
|
||||
@@ -684,6 +699,10 @@ class KickBanMixin(MixinMeta):
|
||||
guild = ctx.guild
|
||||
author = ctx.author
|
||||
|
||||
if reason is None and await self.config.guild(guild).require_reason():
|
||||
await ctx.send(_("You must provide a reason for the softban."))
|
||||
return
|
||||
|
||||
if author == member:
|
||||
await ctx.send(
|
||||
_("I cannot let you do that. Self-harm is bad {emoji}").format(
|
||||
@@ -771,6 +790,10 @@ class KickBanMixin(MixinMeta):
|
||||
self, ctx: commands.Context, member: discord.Member, *, reason: str = None
|
||||
):
|
||||
"""Kick a member from a voice channel."""
|
||||
if reason is None and await self.config.guild(ctx.guild).require_reason():
|
||||
await ctx.send(_("You must provide a reason for the voice kick."))
|
||||
return
|
||||
|
||||
author = ctx.author
|
||||
guild = ctx.guild
|
||||
user_voice_state: discord.VoiceState = member.voice
|
||||
@@ -818,6 +841,10 @@ class KickBanMixin(MixinMeta):
|
||||
self, ctx: commands.Context, member: discord.Member, *, reason: str = None
|
||||
):
|
||||
"""Unban a user from speaking and listening in the server's voice channels."""
|
||||
if reason is None and await self.config.guild(ctx.guild).require_reason():
|
||||
await ctx.send(_("You must provide a reason for the voice unban."))
|
||||
return
|
||||
|
||||
user_voice_state = member.voice
|
||||
if (
|
||||
await self._voice_perm_check(
|
||||
@@ -859,6 +886,10 @@ class KickBanMixin(MixinMeta):
|
||||
@commands.admin_or_permissions(mute_members=True, deafen_members=True)
|
||||
async def voiceban(self, ctx: commands.Context, member: discord.Member, *, reason: str = None):
|
||||
"""Ban a user from speaking and listening in the server's voice channels."""
|
||||
if reason is None and await self.config.guild(ctx.guild).require_reason():
|
||||
await ctx.send(_("You must provide a reason for the voice ban."))
|
||||
return
|
||||
|
||||
user_voice_state: discord.VoiceState = member.voice
|
||||
if (
|
||||
await self._voice_perm_check(
|
||||
@@ -908,6 +939,10 @@ class KickBanMixin(MixinMeta):
|
||||
1. Copy it from the mod log case (if one was created), or
|
||||
2. Enable Developer Mode, go to Bans in this server's settings, right-click the user and select 'Copy ID'.
|
||||
"""
|
||||
if reason is None and await self.config.guild(ctx.guild).require_reason():
|
||||
await ctx.send(_("You must provide a reason for the unban."))
|
||||
return
|
||||
|
||||
guild = ctx.guild
|
||||
author = ctx.author
|
||||
audit_reason = get_audit_reason(ctx.author, reason, shorten=True)
|
||||
|
||||
Reference in New Issue
Block a user