Проблема возникает из-за того, что вы неправильно задаете дату истечения срока действия для ссылки. Вместо того, чтобы использовать число для указания количества секунд, вы должны использовать объект datetime.timedelta для создания периода действия ссылки. Вот как можно исправить ваш код:
```python
import telebot
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
import datetime
API_TOKEN = 'your_api_token'
bot = telebot.TeleBot(API_TOKEN)
@bot.message_handler(commands=['start'])
def start(message):
keyboard = [
[InlineKeyboardButton("Создать ссылку", callback_data='create_link')]
]
reply_markup = InlineKeyboardMarkup(keyboard)
bot.send_message(message.chat.id, "Выберите действие:", reply_markup=reply_markup)
@bot.callback_query_handler(func=lambda call: True)
def callback_query(call):
if call.data == 'create_link':
# Создаем объект datetime.timedelta для указания срока действия ссылки в 10 дней
expire_date = datetime.datetime.now() + datetime.timedelta(days=10)
# Конвертируем дату в секунды, требуемые для API Telegram
expire_date_seconds = int(expire_date.timestamp())
# Отправляем пользователю ссылку со сроком действия 10 дней
bot.send_message(call.message.chat.id, f"Ссылка действительна до {expire_date.isoformat()}")
bot.send_message(call.message.chat.id, f"https://t.me/your_bot_username?start=link_param&expire_date={expire_date_seconds}")
bot.polling()
```
В этом примере мы используем объект `datetime.timedelta` для создания периода действия ссылки в 10 дней. Затем мы конвертируем эту дату в количество секунд, необходимое для API Telegram, используя `expire_date.timestamp()`. Наконец, мы отправляем пользователю сообщение с ссылкой, содержащей параметр `expire_date` с количеством секунд, указывающим, когда ссылка истекает.