Задать вопрос
@aygizyulbarisov
Учусь программированию

Как сделать так, чтобы бот отправлял текст в таком формате который я ему отправляю?

Библиотека pyTelegramBotAPI

Суть вопроса такой:
у меня есть код, который бот пересылает сообщение, мои же сообщение с фото и текстом.
@bot.message_handler(content_types=['photo'])
def get_photo_text(message):

    photo = message.photo[-1].file_id
    
    bot.send_photo(message.chat.id, photo, message.caption, parse_mode='html')


Мне нужно чтобы бот отправлял в таком формате текст, в которым я ему отправляю.
Пример в скрине: 63c57fef7edce185340387.jpeg
  • Вопрос задан
  • 1551 просмотр
Подписаться 3 Простой Комментировать
Решения вопроса 2
Vindicar
@Vindicar
RTFM!
caption отдаёт только plaintext (без форматирования). Вроде как есть свойство-список caption_entities, содержащее сведения о форматировании.
Либо попробуй указать это свойство при отправке сообщения, параметром entities = message.caption_entities, либо разбирай элементы этого списка, ищи форматирование, и вставляй его вручную (там указывается позиция в строке, где форматирование начинается/заканчивается).
Ответ написан
@aygizyulbarisov Автор вопроса
Учусь программированию
Полное решение:
@bot.message_handler(content_types=['photo'])
def get_photo_text(message):


    photo = message.photo[-1].file_id

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


Вот скрин:
63c6c8784076e836122896.jpeg
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Maksim_64
@Maksim_64
Data Analyst
Первое вам нужно отформатировать message.caption, строка которая там будет содержаться должна иметь вид
"*жирный*" То есть вам в вашей строке нужно обернуть слово или всю строку *текст*.
Второе это поставить параметр parse_mode = 'Markdown'
Ответ написан
Ваш ответ на вопрос

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

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