telebot вывод фото и caption через переменную

Вот код :

photo = f"'{sheet["D1"].value}'"
caption = f"{sheet["B1"].value}"

print(photo)
print(caption)

bot.send_message(call.message.chat.id, caption)
bot.send_photo(call.message.chat.id, photo=photo,caption=caption)

Терминал:

> 'https://sun9-36.userapi.com/gvl_MkX4aZJHqmRjE4lRlPOc8kwUClhe90y6MA/yONwF-t1eQ4.jpg'  
> test

(то есть всё ОК)

А бот выводит только test, значит срабатывает только send_message
По какай причине не работает send_photo?

P.s. просто вставить ссылку и caption в send_photo не вариант, так как они подгружаются из excel файла.


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

Автор решения: ZxNuClear

Если вы внимательно посмотрите на то, что вам выдает терминал

'https://sun9-36.userapi.com/gvl_MkX4aZJHqmRjE4lRlPOc8kwUClhe90y6MA/yONwF-t1eQ4.jpg'

то вы должны заметить, что ваш url обернут одинарными кавычками, которые вы зачем то добавляете при присваивании значения переменной photo. Замените

photo = f"'{sheet["D1"].value}'"
caption = f"{sheet["B1"].value}"

на

photo = sheet["D1"].value
caption = sheet["B1"].value

и все должно заработать

→ Ссылка