title: Why is '.' a reserved character in MarkdownV2 in Telegram's Bot API?
body: <p>As of Telegram's Bot API version 4.5, the API supports a new text format, <a href="https://core.telegram.org/bots/api#markdownv2-style" rel="noreferrer"><code>MarkdownV2</code></a>. This is an enhanced version of the previous Markdown support.</p>
  <p>The <a href="https://core.telegram.org/bots/api#markdownv2-style" rel="noreferrer">&quot;specification&quot; for MarkdownV2</a> says:</p>
  <blockquote>
  <ul>
  <li>Inside <code>(...)</code> part of inline link definition, all ')' and '\' must be escaped with a preceding '\' character.</li>
  <li>In all other places characters '_', '*', '[', ']', '(', ')', '~', '`', '&gt;', '#', '+', '-', '=', '|', '{', '}', '.', '!' must be escaped with the preceding character '\'.</li>
  </ul>
  </blockquote>
  <p>Why does the dot <code>.</code> character need to be escaped? As far as I can see, it isn't used in any formatting syntax. The syntax examples that Telegram provides certainly doesn't use <code>.</code> in that way:</p>
  <blockquote>
  <p>To use this mode, pass <em>MarkdownV2</em> in the <em>parse_mode</em> field. Use the following syntax in your message:</p>
  <pre><code>*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
  ```
  </code></pre>
  </blockquote>