Заменить картинку в телеграм не отправляя сообщения

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

a= ['https://avatars.mds.yandex.net/i?id=2a0000017a0d3e03535665bfc88b93c4eb65-3559519-images-thumbs&n=13',
     'https://avatars.mds.yandex.net/i?id=b911ba11533e44f4934026b2f6cd1dbf_l-5280741-images-thumbs&n=13', 
     'https://avatars.mds.yandex.net/get-znatoki/470774/2a000001833cc5b13938b6b58cfcfb4f5d6e/orig']


e=['Красивая', 'Норм', 'Предыдущия была лучше']



@router.callback_query(F.data == 'next')
async def vb(callback: CallbackQuery):
    c=random.choice(a)
    d=random.choice(e)
    await callback.message.edit_media(types.InputMedia(media =c, type = 'photo', caption= e), reply_markup=kb.picture_klaw)

Я пробовал написать media, type, caption


Ответы (2 шт):

Автор решения: Vladimir Ignatenko

Очень похоже, что проблема из-за того что в caption передается массив e,а не строка d что выглядит более логичным и правильным.

→ Ссылка
Автор решения: Seffel

Я в проектах вроде использовал не редактирование медиа, а редактирование самого сообщения. Получал идентификатор нужного сообщения, после этого получал из него все данные (текст, кнопки, медиа и прочее) и затем просто формировал новое сообщение отправляя его через метод редактирования. По итогу просто изменялось вложение без появления отдельного нового сообщения. Возможно звучит как костыль, но это помогало избегать проблем с отладкой и в коде было меньше специализированных функций

→ Ссылка