[Mute] Indicate that a guild mute/unmute is currently being processed. (#4172)

Co-authored-by: fixator10
This commit is contained in:
Dav 2020-08-10 19:19:44 +00:00 committed by GitHub
parent 05ef5fa3a6
commit 35b0224690
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,6 +3,7 @@ from typing import cast, Optional
import discord
from redbot.core import commands, checks, i18n, modlog
from redbot.core.utils import AsyncIter
from redbot.core.utils.chat_formatting import format_perms_list
from redbot.core.utils.mod import get_audit_reason, is_allowed_by_hierarchy
from .abc import MixinMeta
@ -254,22 +255,22 @@ class MuteMixin(MixinMeta):
audit_reason = get_audit_reason(author, reason)
mute_success = []
for channel in guild.channels:
success, issue = await self.mute_user(guild, channel, author, user, audit_reason)
mute_success.append((success, issue))
await asyncio.sleep(0.1)
await modlog.create_case(
self.bot,
guild,
ctx.message.created_at,
"smute",
user,
author,
reason,
until=None,
channel=None,
)
await ctx.send(_("User has been muted in this server."))
async with ctx.typing():
for channel in guild.channels:
success, issue = await self.mute_user(guild, channel, author, user, audit_reason)
mute_success.append((success, issue))
await modlog.create_case(
self.bot,
guild,
ctx.message.created_at,
"smute",
user,
author,
reason,
until=None,
channel=None,
)
await ctx.send(_("User has been muted in this server."))
@commands.group()
@commands.guild_only()
@ -373,14 +374,23 @@ class MuteMixin(MixinMeta):
audit_reason = get_audit_reason(author, reason)
unmute_success = []
for channel in guild.channels:
success, message = await self.unmute_user(guild, channel, author, user, audit_reason)
unmute_success.append((success, message))
await asyncio.sleep(0.1)
await modlog.create_case(
self.bot, guild, ctx.message.created_at, "sunmute", user, author, reason, until=None,
)
await ctx.send(_("User has been unmuted in this server."))
async with ctx.typing():
for channel in guild.channels:
success, message = await self.unmute_user(
guild, channel, author, user, audit_reason
)
unmute_success.append((success, message))
await modlog.create_case(
self.bot,
guild,
ctx.message.created_at,
"sunmute",
user,
author,
reason,
until=None,
)
await ctx.send(_("User has been unmuted in this server."))
async def mute_user(
self,