简体   繁体   中英

How to send a colored text message?

I am trying to send a colored text message to a user as reply, using sendMessage with HTML parsing.

bot.sendMessage(update.message.chat_id, "<span style=\"color:blue\">foo</span>", telegram.ParseMode.HTML)

Sending <span style="color:blue">foo</span> doesn't work, as span is not supported:

Bad Request: Can't parse message text: Unsupported start tag "span" at byte offset 0 (400)

I am using the python-telegram-bot v. 4.0.3.

Is there another way?

Unfortunately there is no documentation about the tag accepted by the bot, except the unit test for parsemode .

The tags that work are b , i , a for bold, italic and link elements, this is what is offered, maybe there's more but I couldn't find it in the docs

Your can enlight piece of text with grave character "`"

AAAA ` enlight piece ` BBB

According to the core API docs , Telegram only supports the <span> tag for spoiler text. I tried to send a message with HTML parsing and the text:

"<span style=\"color:#fc5252;\">text</span>"

And got:

Can't parse entities: tag "span" must have class "tg-spoiler" at byte offset 0

I'm guessing this means the <span> tag can only be used for spoiler text.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM