@dpesnyak94

Почему не получается отправить сообщение пользователю?

Пишу бот на питоне. После обработки ответа при нажатии на кнопку должно появиться еще одно сообщение с другими кнопками, но оно почему-то не отправляется.
Код:
@bot.callback_query_handler(func=lambda call: True)
def query_handler(call):
    cid = call.message.chat.id
    markup = telebot.types.InlineKeyboardMarkup()
    if call.data == '1':
        for course in courses:
            markup.add(telebot.types.InlineKeyboardButton(text=courses[course], callback_data=course))
        bot.send_message(cid, 'Выберите группу из списка:', reply_markup=markup)

Нужное сообщение, которое не отправляется:
bot.send_message(cid, 'Выберите группу из списка:', reply_markup=markup)

Ошибка:
(__init__.py:582 MainThread) ERROR - TeleBot: "A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: can't parse inline keyboard button: Field "text" must be of type String"
  • Вопрос задан
  • 270 просмотров
Решения вопроса 1
shurshur
@shurshur
Сисадмин, просто сисадмин...
В ошибке же всё написано - text должен быть строкой. Скорее всего, courses[course] - не строка.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы