Задать вопрос
Goshujin
@Goshujin
Я только начал изучать Python, не бейте.

Можно ли использовать декоратор внутри команды?

Нужно, чтобы команда уходила на кулдаун только при присутствии всех аргументов, а при их отсутствии ничего не делала.
Например:
@commands.command()
async def say(ctx, arg = None):
    if arg == None:
        pass
    else:
        @commands.cooldown(1, 500, type = BucketType.member)
        await ctx.send(arg)
  • Вопрос задан
  • 154 просмотра
Подписаться 1 Простой 6 комментариев
Решения вопроса 1
https://discordpy.readthedocs.io/en/stable/ext/com...

@commands.command(cooldown_after_parsing=True)
async def cmd(ctx, ...):
    """..."""
    ...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Нет. Так как декораторы это всего лишь сахар над обычным замыканием, то обернуть конструкцию не получится.
Можно вынести в отдельную функцию или метод и уже их обернуть.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы