Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Python编程一个Discord机器人-我如何使它对静音命令进行计时?_Python_Discord.py - Fatal编程技术网

用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添加到命令中。更新。