dr_fap
@dr_fap
Обитатель Пустоши, который исследует интернет.

Как мне вернуть текст, отправленный боту (Telebot)?

import telebot

token = 'TOKEN'
channel_name = '@CHANNEL'

bot = telebot.TeleBot(token)

@bot.message_handler(content_types=['text', 'audio'])
def send_message_group(message):
    doc_id = message.audio.file_id
    bot.send_audio(channel_name, audio=doc_id, caption=message.text)
    print(f'\nСообщение успешно доставлено.\nText: {message.text}\nFile_Id: {doc_id}')

if __name__ == '__main__':
    bot.infinity_polling()


RESULT:
Сообщение успешно доставлено.
Text: None
File_Id: CQACAgIAsssAAMlYXssssbNssRZSqzDa02kb5ssssssoIBLtEsctssrvOEssA


Самый главный вопрос. Как мне заполучить текст, и переслать отформатировав его? Когда я пытаюсь заполучить его методом из примера, у меня не выходит (результат: None).

Концепт бота:
Я отправляю ему сообщение с аудиофайлом, он пересылает это сообщение с текстом, но при этом текст форматируется. В телеграме для этого используются сочетания CTRL + B & CTRL + U
  • Вопрос задан
  • 123 просмотра
Пригласить эксперта
Ответы на вопрос 1
InternetMaster
@InternetMaster
Интернет
Нужно писать сообщение согласно HTML тегам!
В конце не забыв приписать parse_mode!
Например, чтобы отправился жирный либо подчеркнутый текст, нужно заточить их в соответствующие теги
<b> это жирный текст </b>
<u> это подчеркнутый текст </u>


То есть, в итоге код будет выглядеть так:
import telebot

token = 'TOKEN'
channel_name = '@CHANNEL'

bot = telebot.TeleBot(token)

@bot.message_handler(content_types=['text', 'audio'])
def send_message_group(message):
    doc_id = message.audio.file_id
    bot.send_audio(channel_name, audio=doc_id, caption=message.text, parse_mode='HTML')
    print(f'\nСообщение успешно доставлено.\nText: {message.text}\nFile_Id: {doc_id}')

if __name__ == '__main__':
    bot.infinity_polling()

# При этом message.text должен быть составлен так "Это обычный шрифт <b> а тут уже жирный шрифт </b> тут снова обычный <u> а тут подчеркнутый текст </u>"
Ответ написан
Ваш ответ на вопрос

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

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