Telegram server says - Bad Request: EXPIRE_DATE_INVALID
Необходимо сделать так, чтобы бот создавал одноразовую ссылку на вступление в телеграм-канал которая истечет через 1 день. Метод для создания ссылок нашёлся сразу, но возникла проблема с добавлением даты истекания ссылки.
@dp.message(Command("testpay"))
async def test(msg: types.Message):
date = datetime.now() + timedelta(days=1)
test = datetime.timestamp(date)
link = await bot.create_chat_invite_link('id', str(test)[:-7], 1)
await msg.answer(f'вот {link.invite_link}')
Если верить документации айограма, bot.create_chat_invite_link принимает дату истекания ссылки в формате Unix. Но даже с юниксом прога продолжает выдавать ошибку aiogram.exceptions.TelegramBadRequest: Telegram server says - Bad Request: EXPIRE_DATE_INVALID. В чем проблема?
Ответы (1 шт):
Можно получить дату в формате Unix, например, вот таким образом:
import time
@dp.message(Command("testpay"))
async def test(msg: types.Message):
link = await bot.create_chat_invite_link(
'id',
expire_date=int(time.time()) + (3600 * 24)
)
await msg.answer(f'вот {link.invite_link}')
Это самый простой способ реализации через метод time()
. Затем к прибавляем количество секунд, по истечению которых ссылка будет недействительной.