как запомнить время с использования команды и при каждом вызове команды проверять прошли ли 24 часа или нет в дискорд боте на Disnake?

@bot.slash_command(name='dub', description='Вырастить свой дуб')
async def dub(ctx):
    number = random.randint(1,3)
    number_plus_dub = random.randint(1,5)
    number_minus_dub = random.randint(1,5)  

    embed_minus_dub = disnake.Embed(
        title= '**Итоги дуба:**',
        description= f'**{ctx.author.mention}, ваш дуб уменьшился на {number_minus_dub}см, длинна вашего дуба = {sql.execute("""SELECT size_dub FROM users WHERE id = {}""".format(ctx.author.id)).fetchone()[0]}**',
        color=disnake.Colour.green()
    )
    embed_minus_dub.set_image(url='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTQNkeaf13XYNdXt91GiB1EDD6Fm17wIzEoCg&usqp=CAU')

    embed_plus_dub = disnake.Embed(
        title= '**Итоги дуба:**',
        description=f'**{ctx.author.mention}, ваш дуб увеличился на {number_plus_dub}см, длинна вашего дуба = {sql.execute("""SELECT size_dub FROM users WHERE id = {}""".format(ctx.author.id)).fetchone()[0]}**',
        color=disnake.Colour.green()
    )
    embed_plus_dub.set_image(url='https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTQNkeaf13XYNdXt91GiB1EDD6Fm17wIzEoCg&usqp=CAU')
    
    last_time = dt.datetime.now()
    delta = dt.datetime.now() - last_time
    
    if delta.total_seconds() > 86400:
        if number == 1:
            sql.execute("""UPDATE users SET size_dub  = size_dub - {} WHERE id = {}""".format(number_minus_dub, ctx.author.id)) 
            for size in sql.execute("""SELECT size_dub FROM users""").fetchone():
                #await ctx.send(f'{ctx.author.mention}, ваш дуб уменьшился на {number_minus_dub}см, длинна вашего дуба = {sql.execute("""SELECT size_dub FROM users WHERE id = {} """. format(ctx.author.id)).fetchone()[0]}см')
                await ctx.send(embed= embed_minus_dub)
                db.commit()
        elif number == 2:
            sql.execute("""UPDATE users SET size_dub = size_dub + {} WHERE id = {}""".format(number_plus_dub, ctx.author.id)) 
            for size in sql.execute("""SELECT size_dub FROM users""").fetchone():
                #await ctx.send(f'{ctx.author.mention}, ваш дуб увеличился на {number_plus_dub}см, длинна вашего дуба = {sql.execute("""SELECT size_dub FROM users WHERE id = {} """. format(ctx.author.id)).fetchone()[0]}см')
                await ctx.send(embed= embed_plus_dub)
                db.commit()         
        else:
            sql.execute("""UPDATE users SET size_dub = size_dub + {} WHERE id = {}""".format(number_plus_dub, ctx.author.id)) 
            for size in sql.execute("""SELECT size_dub FROM users""").fetchone():
                #await ctx.send(f'{ctx.author.mention}, ваш дуб увеличился на {number_plus_dub}см, длинна вашего дуба = {sql.execute("""SELECT size_dub FROM users WHERE id = {} """. format(ctx.author.id)).fetchone()[0]}см')
                await ctx.send(embed= embed_plus_dub)
                db.commit()
    else:
        await ctx.send(f'**{ctx.author.mention}, ты уже использовал данную команду, попробуй снова через 24часа!**')

Ответы (0 шт):