Я хочу сделать кулдаун для всех команд но чтобы распространялся он только на юзера.
Допустим есть команда A и команда B, и мне нужно чтобы после того как пользователь использовал команду A, он не мог использовать команды А и B определенное время.
У меня есть пример реализации с декоратором
@discord.app_commands.checks.dynamic_cooldown(обработчик)
, но этот кулдаун распространяется только на одну команду, и для всей гильдии. Мне же нужно на все команды и для одного пользователя.
Также нужно чтобы можно было сделать обработчик по типу этого
@bot.tree.error
async def on_app_command_error(
interaction: discord.Interaction,
error: app_commands.AppCommandError
):
if isinstance(error, app_commands.CommandOnCooldown):
embed = discord.Embed(
description="Вы сможете использовать эту команду через "
f"**{int(error.retry_after)}s**",
color=embed_color
)
await interaction.response.send_message(embed=embed, ephemeral=True)
else:
raise error
когда команды находятся в кулдауне