用Python编程一个Discord机器人-我如何使它对静音命令进行计时?
因此,我有一个静音命令,使用以下代码:用Python编程一个Discord机器人-我如何使它对静音命令进行计时?,python,discord.py,Python,Discord.py,因此,我有一个静音命令,使用以下代码: @client.command(pass_context = True) async def mute(ctx, member: discord.Member): role = discord.utils.get(member.guild.roles, name='Muted') await member.add_roles(role) embed=discord.Embed(title="User Muted!", des
@client.command(pass_context = True)
async def mute(ctx, member: discord.Member):
role = discord.utils.get(member.guild.roles, name='Muted')
await member.add_roles(role)
embed=discord.Embed(title="User Muted!", description="**{0}** was muted by **{1}**!".format(member, ctx.message.author), color=random.choice(colors))
await ctx.send(embed=embed)
它工作得很好,但我想这样做,以便您可以指定它们将被静音多长时间。不太清楚怎么做
我是编程新手,因此任何见解都将不胜感激。添加一个
等待asyncio.sleep()
指定时间,然后删除该角色。确保在指定的时间内导入asyncio
添加等待asyncio.sleep()
,然后删除该角色。确保导入asyncio
尽管等待asyncio.sleep()
是一个选项,但我不推荐它。时间被保存在缓存中,如果/当机器人重新启动或关闭时,缓存将被擦除,人们将永远保持沉默。在我看来,最好的处理方法是使用一个数据库,在其中存储人们应该被解除静音的时间。菜单文档有一个非常重要的功能,我建议观看它以获取更多信息。虽然等待asyncio.sleep()
是一个选项,但我不推荐它。时间被保存在缓存中,如果/当机器人重新启动或关闭时,缓存将被擦除,人们将永远保持沉默。在我看来,最好的处理方法是使用一个数据库,在其中存储人们应该被解除静音的时间。“菜单文档”有一个非常重要的功能,我建议观看它以获取更多信息。这会起作用-但当我使用time.sleep()
,它会忽略在睡眠期间使用的任何其他命令。更新答案以适应您的场景。嗯。。。现在我得到了这个RuntimeWarning:enabletracemalloc来获取对象分配回溯
My bad我忘了将wait添加到命令中。更新。这会起作用-但当我使用time.sleep()
,它会忽略在睡眠期间使用的任何其他命令。更新答案以适用于您的场景。嗯。。。现在我得到了这个RuntimeWarning:enabletracemalloc来获取对象分配回溯
My bad我忘了将wait添加到命令中。更新。