我的静音命令是让人静音1秒,而不是10秒,我不知道为什么。有没有人发现代码中有什么地方错了?
@client.command()
@commands.has_guild_permissions(kick_members=True)
async def mute(ctx, member: discord.Member, time, reason=None):
muted_role = discord.utils.get(ctx.guild.roles, name="Muted")
time_convert = {"s":1, "m":60, "h":3600,"d":86400}
tempmute = int(time[0]) * time_convert[time[-1]]
await member.add_roles(muted_role)
await ctx.send(f'{member} has been muted for {time}. Reason: {reason}.', delete_after=5)
await asyncio.sleep(tempmute)
await member.remove_roles(muted_role)发布于 2021-02-22 07:11:14
错误看起来是在下面一行中:
tempmute = int(time[0]) * time_convert[time[-1]]请尝试执行以下操作:
tempmute = int(time[:-1]) * time_convert[time[-1]]完整的代码是:
@client.command()
@commands.has_guild_permissions(kick_members=True)
async def mute(ctx, member: discord.Member, time, reason=None):
muted_role = discord.utils.get(ctx.guild.roles, name="Muted")
time_convert = {"s":1, "m":60, "h":3600,"d":86400}
tempmute = int(time[:-1]) * time_convert[time[-1]]
await member.add_roles(muted_role)
await ctx.send(f'{member} has been muted for {time}. Reason: {reason}.', delete_after=5)
await asyncio.sleep(tempmute)
await member.remove_roles(muted_role)time[0]为1,time[-1]为m等。
https://stackoverflow.com/questions/66308022
复制相似问题