Делаю вывод cooldown'а в командах и уведомления к ним.
Первая команда:
@commands.command()
@commands.cooldown(1, 30, commands.BucketType.member)
async def work(self, ctx):
...
@commands.Cog.listener("on_command_error")
async def cooldown_message_work(self, ctx, error):
if isinstance(error , commands.CommandOnCooldown):
member = ctx.message.author.mention
await ctx.send(f"{member} you can only use this command once every 30 seconds! Try again in {int(error.retry_after)} seconds.")
Вторая команда:
@commands.command()
@commands.cooldown(1, 1200, commands.BucketType.member)
async def bake(self, ctx):
...
@commands.Cog.listener("on_command_error")
async def cooldown_message_bake(self, ctx, error):
if isinstance(error , commands.CommandOnCooldown):
member = ctx.message.author.mention
m = (int(error.retry_after)//60)%60
await ctx.send(f"{member} you can only use this command once every 20 minutes! Try again in {m} minutes.")
Проблема когда срабатывает cooldown в первой команде то и у второй тоже.
Как сделать что бы отправляло только один раз для одной команди?