回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<pre><code>@client.command(description="Mutes the specified user.")
@commands.has_permissions(manage_messages=True)
async def mute(ctx, member: discord.Member, time=None, *, reason=None):
time_conversion = {"s": 1, "m": 60, "h": 3600, "d": 86400}
mute_time = int(time[0]) * time_conversion[time[-1]]
guild = ctx.guild
mutedRole = discord.utils.get(guild.roles, name="Muted by ez")
await member.add_roles(mutedRole, reason=reason)
mute = discord.Embed(
description=f"<a:mutediscord:888827254853996564> {member.mention} was muted.\n**Reason:** {reason}\n**Duration** {time}",
color=ctx.author.color)
mute.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
muteprvt = discord.Embed(
description=f"<a:mutediscord:888827254853996564> You have muted from {ctx.guild.name}\n**Reason:** {reason}\n**Duration** {time}",
color=ctx.author.color)
muteprvt.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
await ctx.channel.send(embed=mute)
await ctx.member.send(embed=muteprvt)
await asyncio_sleep(mute_time)
await member.remove_roles(mutedRole)
unmute = discord.Embed(description=f"🔨 {member.mention} was unmuted.", color=ctx.author.color)
unmute.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
await ctx.channel.send(embed=unmute)
unmuteprvt = discord.Embed(description=f"🔨 You have unmuted from {ctx.guild.name}", color=ctx.author.color)
unmuteprvt.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
await member.send(embed=unmuteprvt)
return
if not mutedRole:
mutedRole = await guild.create_role(name="Muted by ez")
for channel in guild.channels:
await channel.set_permissions(mutedRole, speak=False, send_messages=False, read_message_history=True, read_messages=False)
await member.add_roles(mutedRole, reason=reason)
mute = discord.Embed(
description=f"<a:mutediscord:888827254853996564> {member.mention} was muted.\n**Reason:** {reason}\n**Duration** {time}",
color=ctx.author.color)
mute.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
muteprvt = discord.Embed(
description=f"<a:mutediscord:888827254853996564> You have muted from {ctx.guild.name}\n**Reason:** {reason}\n**Duration** {time}",
color=ctx.author.color)
muteprvt.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
await ctx.channel.send(embed=mute)
await ctx.member.send(embed=muteprvt)
await asyncio_sleep(mute_time)
await member.remove_roles(mutedRole)
unmute = discord.Embed(description=f"🔨 {member.mention} was unmuted.", color=ctx.author.color)
unmute.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
await ctx.channel.send(embed=unmute)
unmuteprvt = discord.Embed(description=f"🔨 You have unmuted from {ctx.guild.name}", color=ctx.author.color)
unmuteprvt.set_author(name=ctx.author.name, icon_url=ctx.author.avatar_url)
await member.send(embed=unmuteprvt)
return
</code></pre>
<p>这是我的代码问题是没有删除角色有人能帮我吗?
我已经转换了时间,所以一切都很好,但idk可能异步IO模块不工作,因为bcs在auditlog中也没有任何内容</p>