Дискорд бот и вызов условия проверки даты и времени
я можно сказать новичок в пайтон и пока мне очень сложно разобраться в асинхронных функциях и тд. Хотел сделать для бота дискорд, некую команду, чтобы человек отправлялся в поход на 6 часов. Я дал себе задачу сделать так чтобы ровно через этих 6 часов, человек возвращался из похода и бот уведомлял об этом участника. Пока сделал только внешний вид похода, его кд и занесение в бд время начала похода и его конца, но никак не могу сделать чтобы бот понимал когда ему нужно заканчивать поход. Помогите пожалуйста
@client.command(aliases = ['hike', 'поход'])
@commands.cooldown(1, 21600, commands.BucketType.user)
async def __hike(ctx):
author = ctx.message.author
d = datetime.datetime.now()
emb = discord.Embed(title=f'**⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀Поход⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀**', description = f'**{author.name}, вы отправились в поход который будет длиться 6 часов.**')
emb.set_image(url = "https://avatars.mds.yandex.net/get-zen_doc/3510533/pub_5f280ab79e12c646d15eedb3_5f2e85b20d8f01499c464fa2/orig")
emb.set_footer(text=f'виконав: {author.name} сегодня в: {d.hour}:{d.minute}', icon_url=ctx.author.avatar_url)
await ctx.send(embed=emb)
d2 = d + datetime.timedelta(hours=6)
cur.execute(f'INSERT INTO Hike(UserId, TimeIn, TimeOut) VALUES (?, ?, ?)', (author.id, d, d2))
base.commit()
@__hike.error
async def __hike_error(ctx, error):
if isinstance(error, commands.CommandOnCooldown):
author = ctx.message.author
if error.retry_after > 3600:
await ctx.send(f"**{author.name}**, вы сможете использовать эту команду через: **{round(error.retry_after / 3600)}ч.** !")
return
if error.retry_after > 60:
await ctx.send(f"**{author.name}**, вы сможете использовать эту команду через: **{round(error.retry_after / 60)}м.**!")
return
else:
await ctx.send(f"**{author.name}**, вы сможете использовать эту команду через: **{round(error.retry_after)}с.**!")
Ответы (1 шт):
ровно через этих 6 часов, человек возвращался из похода и бот уведомлял об этом участника.
Насколько я понял проблему, Вам лучше всего подойдёт библиотека schedule: