Как сделать чтобы команда работа только днем python
Есть команда:
@bot.command()
async def xp(ctx, amount=10):
await ctx.message.delete()
now = datetime.now()
now_time = now.time()
print(now_time)
for ft in range(amount):
if now_time > time(1,30) or now_time < time(8,00):
print("nith")
else:
channel = bot.get_channel(id)
message = await channel.send(random.choice(words))
await asyncio.sleep(random.uniform(0,3))
await message.delete()
await asyncio.sleep(random.uniform(5,10))
Но проблема в том, что если цикл ft начался до 01:30 он продолжить работать и после, как это можно исправить Хочу чтобы ночью команда продолжала работу, если больше 01:30 и до 08, а дальше продолжала работать если цикл еще не закончился
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Вам нужно обновлять текущее время в цикле, а иначе вы всегда сравниваете ваш промежуток с тем временем, в которое цикл запустился.
@bot.command()
async def xp(ctx, amount=10):
await ctx.message.delete()
for ft in range(amount):
now_time = datetime.now().time()
if now_time > time(1,30) or now_time < time(8,00):
print("nith")
else:
channel = bot.get_channel(id)
message = await channel.send(random.choice(words))
await asyncio.sleep(random.uniform(0,3))
await message.delete()
await asyncio.sleep(random.uniform(5,10))