Задать вопрос
@Nikison

Как отредактировать текст сообщения с изображением, отправленное ботом?

Хочу сделать так, чтобы бот отправлял сообщение с текстом и изображением, а при нажатии на inline кнопку и текст и картинка менялись.
Решил действовать так: сначала заменить текст, затем изображение, но при попытке поменять текст выдаёт ошибку, что в этом сообщении нет текста. Как быть?
@bot.message_handler(commands=['start'])
def start(message):
    markup = types.InlineKeyboardMarkup()
    nextPage = types.InlineKeyboardButton('Следующая страница', callback_data='turn')
    markup.add(nextPage)
    file = open('pictures/firstPage.png', 'rb')
    bot.send_photo(message.chat.id, file, 'Это первая страница', reply_markup=markup)

@bot.callback_query_handler(func=lambda call: True)
def turn(call):
    bot.edit_message_text('Это вторая страница', call.message.chat.id, call.message.message_id)
    file = open('pictures/secondPage.jpg')
    bot.edit_message_media(types.InputMedia(file), call.message.chat.id, call.message.message_id)


Вот ошибка:
telebot.apihelper.ApiTelegramException: A request to the Telegram API was unsuccessful. Error code: 400. Description: Bad Request: there is no text in the message to edit
  • Вопрос задан
  • 449 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Shinocatsu
1. bot.edit_message_text используется для редактирования текстового сообщения, а тебе нужно описание под фото. Для таких случаев используется bot.edit_message_caption
2. Сначала меняешь изображение, а потом описание (после смены картинки, описание пропадает)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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