• Как вывести определённое время discord.py?

    SoreMix
    @SoreMix
    yellow
    Есть специальный декоратор, который вешает кулдаун на команду

    @commands.cooldown(1, 30, commands.BucketType.user)

    1 - кол-во использований команды
    30 - время в секундах, через сколько можно использовать команду еще раз
    commands.BucketType.user - ограничение для пользователя

    Советую прочитать описание декоратора, чтобы понимать:
    https://github.com/Rapptz/discord.py/blob/async/di...

    Когда кулдаун тригерится, он вызывает on_command_error

    Дальше уже в этой функции делаете что вам нужно. Пример для КД 14 дней:
    @commands.cooldown(1, 14*24*60*60, commands.BucketType.user)
    @bot.command()
    async def work(ctx):
        await ctx.send('hello')
    
    @bot.event
    async def on_command_error(ctx, error):
        if isinstance(error, commands.CommandOnCooldown):
            retry_after = str(datetime.timedelta(seconds=error.retry_after)).split('.')[0]
            await ctx.send(f'**Вы устали! Приходите через {retry_after}**')


    Форматирование вроде 20:30:14 PM или 00d 00h 00m 00s уже сами сделаете с помощью strftime
    Ответ написан
    1 комментарий