shenk
@shenk
t.me/kshnkvn

Почему не создается больше одной кнопки с pyTelegramBotAPI?

Код отправки клавиатуры:
@bot.message_handler(content_types=['text'])
def send_text(message):
    query = api_query(message.text)
    if query is not None:
        keyboard = types.InlineKeyboardMarkup()
        for item in query:
            print(item)
            keyboard.add(types.InlineKeyboardButton(text=item, callback_data=item))
        bot.send_message(message.from_user.id, text='Вот, что я нашел:', reply_markup=keyboard)
    else:
        bot.send_message(message.from_user.id, 'Ой, мне ничего не удалось найти. Ты точно ввел(а) правильное название?')

В query хранится поисковая выдача, например:
['Чернобыль: Зона отчуждения (2014)', 'Чернобыльские джунгли. 20 лет без человека (2008)', 'Чернобыль (2019)']

При попытке выполнить код ошибка:
telebot.apihelper.ApiException: A request to the Telegram API was unsuccessful. The server returned HTTP 400 Bad Request. Response body:
[b'{"ok":false,"error_code":400,"description":"Bad Request: BUTTON_DATA_INVALID"}']

При чем если в query всего 1 элемент, то отправка кнопки происходит без проблем.
Как правильно в моем случае мне необходимо сформировать клавиатуру?
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
shenk
@shenk Автор вопроса
t.me/kshnkvn
Собственно, как всегда - дурачек невнимательно прочитал документацию и побежал на тостер:
callback_data String Optional. Data to be sent in a callback query to the bot when button is pressed, 1-64 bytes

Код рабочий, только в callback_data я превысил лимит API.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 июл. 2019, в 20:17
80000 руб./за проект
18 июл. 2019, в 20:05
50000 руб./за проект
18 июл. 2019, в 19:04
2500 руб./за проект