Не могу обновить картинку в сообщении от бота telegram
День добрый, разрабатываю бота для telegram на python с использованием aiogram. Пытаюсь изменить уже отправленное ботом сообщение и добавить в него картинку, как показано в этом коде:
from aiogram import Bot, types
from aiogram.dispatcher import Dispatcher
from aiogram.utils import executor
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton, InputMediaPhoto
bot = Bot(token='токен бота')
dp = Dispatcher(bot)
menu1 = InlineKeyboardMarkup()
menu1.add(InlineKeyboardButton('Пункт 1', callback_data = '1'))
menu1.add(InlineKeyboardButton('Пункт 2', callback_data = '2'))
menu2 = InlineKeyboardMarkup()
menu2.add(InlineKeyboardButton('Пункт 3', callback_data = '3'))
menu2.add(InlineKeyboardButton('Пункт 4', callback_data = '4'))
@dp.message_handler(commands=['start'])
async def process_start_command(message: types.Message):
await bot.send_message(message['from']['id'],'Привет',reply_markup = menu1)
@dp.callback_query_handler()
async def choose_alco (callback_query: types.CallbackQuery):
if callback_query.data == '1':
photo_media = InputMediaPhoto('id фотографии')
await bot.answer_callback_query(callback_query.id)
await bot.edit_message_text(chat_id=callback_query.message.chat.id, message_id=callback_query.message.message_id, text = 'Ты нажал на первую кнопку')
await bot.edit_message_reply_markup(chat_id=callback_query.message.chat.id, message_id=callback_query.message.message_id, reply_markup = menu2)
await bot.edit_message_media(media = photo_media, chat_id=callback_query.message.chat.id, message_id=callback_query.message.message_id)
if __name__ == '__main__':
executor.start_polling(dp)
Но это не работает и aiogram выдает следующую ошибку:
aiogram.utils.exceptions.BadRequest: There is no media in the message to edit
Работают все пункты кроме добавления фото.
Хотелось бы реализовать эту функцию как на фото:

Ответы (1 шт):
И снова доброго времени суток, чтобы добавить картинку как показано на рисунке, не получиться редактировать media сообщения, так как этого media просто нет. А на скриншоте не фото, а превью страницы, то есть для того чтобы отправить такое фото нужно добавить в текст сообщения ссылку на это фото, и чтобы не было кнопки перехода на эту страницу, можно спрятать эту ссылку с помощью hide_link, например так:
from aiogram.utils.markdown import hide_link
...
await bot.edit_message_text(chat_id=callback_query.message.chat.id, message_id=callback_query.message.message_id, text = hide_link('линк на фото'), parse_mode=ParseMode.HTML, reply_markup = menu2)