I am working on a Telegram Bot in Python but I struggle to use markdown correctly and I can not find any proper resources about the telegram markdown implementation. It gets even more complicated because of two different markdown "versions" (Markdown and Markdown_V2). And none of them is matching the behavior of the normal chat field (typing by hand).
Test String:
*Bold*, _italic_, *_bold and italic_*, **double bold**, __double italic__, __**double bold and double italic**__
parse_mode="Markdown":
Bold, italic, _bold and italic_, double bold, double italic, double bold and double italic
parse_mode="Markdown V2":
Bold, italic, bold and italic, double bold, double italic, double bold and double italic
in Chat:
*Bold*, _italic_, *bold and italic*, double bold, double italic, **double bold and double italic**
-
How do I add bold and italic, and are there any other commands like underline and more? I need some explanation. Thanks.
Bots need a different markdown syntax.
To send bold and italic text use:
update.message.reply_text('*_bold and italic_*', parse_mode='MarkdownV2')
from the official telegram website https://core.telegram.org/bots/api#markdownv2-style
*bold \*text*
_italic \*text_
__underline__
~strikethrough~
*bold _italic bold ~italic bold strikethrough~ __underline italic bold___ bold*
[inline URL](http://www.example.com/)
[inline mention of a user](tg://user?id=123456789)
`inline fixed-width code`
```
pre-formatted fixed-width code block
```
```python
pre-formatted fixed-width code block written in the Python programming language
```
I recommend to use only MarkdownV2 syntax, since Markdown is less powerful
Just a note, with Markdownv2 you have to escape special characters. "Special" here means those that Telegram defined as special (doc).
Personally I find it easier to work with parse_mode='HTML' where you can use a common function to escape HTML chars (e.g. html.escape in Python, _.escape in JS). With HTML you have way more options for text decoration.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With