Задать вопрос
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)
  • Вопрос задан
  • 156 просмотров
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Решения вопроса 1
https://discordpy.readthedocs.io/en/stable/ext/com...

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

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

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