Discord asyncio事件结束后,如何删除命令的冷却时间?

Discord asyncio事件结束后,如何删除命令的冷却时间?,discord,discord.py,python-asyncio,Discord,Discord.py,Python Asyncio,如何使用异步IO函数交叉命令检查/比较冷却时间? 我在我的机器人中有一个命令,它发送一个嵌入,并在x秒/分钟/小时后编辑嵌入。同时,还有一个命令可以发送消息。执行一次后,只要asyncio事件仍在运行或嵌入未再次编辑,用户就不能使用此命令。我怎样才能做到这一点 应答码,该应答码应具有剩余asyncio时间的冷却时间: @commands.command() 异步def应答(self、ctx、text:str): 等待ctx.channel.send(文本,删除后=0) 等待ctx.message

如何使用异步IO函数交叉命令检查/比较冷却时间? 我在我的机器人中有一个命令,它发送一个嵌入,并在x秒/分钟/小时后编辑嵌入。同时,还有一个命令可以发送消息。执行一次后,只要
asyncio
事件仍在运行或嵌入未再次编辑,用户就不能使用此命令。我怎样才能做到这一点

应答码,该应答码应具有剩余
asyncio时间的冷却时间:

@commands.command()
异步def应答(self、ctx、text:str):
等待ctx.channel.send(文本,删除后=0)
等待ctx.message.delete()
等待ctx.author.send(f“**{ctx.author.antify},您选择:{text}**”)
发送嵌入的命令:

@commands.command()
异步def琐事(自身、ctx):
e=discord.Embed(color=discord.color.gold())
e、 title=“新问题,新运气。”
e、 description=“**史蒂夫·乔布斯是什么时候出生的?**”
e、 添加字段(name=“1️⃣", value=“02/24/1955”,inline=False)
e、 添加字段(name=“2️⃣,value=“03/24/1955”,inline=False)
e、 添加字段(name=“3️⃣,value=“02/24/1965”,inline=False)
e、 设置页脚(text=“你有x-x来回答这个问题。”,icon\u url=self.bot.user.avatar\u url)
e、 timestamp=datetime.datetime.utcnow()
问题=等待ctx.send(嵌入=e)
等待异步睡眠(10)
等待自我回答。重置冷却时间(ctx)
e2=discord.Embed(color=discord.color.gold())
[等]
等待问题。编辑(嵌入=e2)

正如你所看到的,我已经尝试用
等待self.answer.reset\u冷却时间(ctx)重置冷却时间
但是我在
应答
命令本身中缺少了什么?

命令在使用时会得到冷却,您实际上没有使用该命令,因此没有实际的冷却,您将冷却重置为0。您只需在“异步IO时间”内启用/禁用该命令即可

睡觉前 self.answer.enabled=False #睡觉 等待异步睡眠(10) #睡后 self.answer.enabled=True
您还应该为该命令提供一个错误处理程序

@answer.error
异步定义应答错误(self、ctx、error):
如果isinstance(错误,命令.DisabledCommand):
wait ctx.send(“请稍候!您还不能使用此命令”)#遗憾的是,您无法添加剩余时间
参考: