Плагин подсветки текста разных языков программирования для телеграм-бота
https://github.com/TelegramMessenger/libprisma#supported-languages
Стиль MarkdownV2
https://core.telegram.org/bots/api#formatting-options
Чтобы использовать этот режим, передайте MarkdownV2 в поле parse_mode. В сообщении используйте следующий синтаксис:
Код: Выделить всё
*bold \*text*
_italic \*text_
__underline__
~strikethrough~
||spoiler||
Любой символ с кодом от 1 до 126 включительно может быть экранирован в любом месте с помощью предшествующего символа „\“, в этом случае он рассматривается как обычный символ, а не часть разметки. Это означает, что символ „\“ обычно должен быть экранирован предшествующим символом „\“.
Внутри сущностей pre и кода все символы „`“ и „\“ должны быть экранированы предшествующим символом „\“.
Внутри (...) части инлайн-ссылки и пользовательского определения эмодзи все символы „)“ и „\“ должны быть экранированы предшествующим символом „\“.
Во всех остальных местах символы „_“, „*“, „[“, „]“, „(“, „)“, „~“, „`“, „>“, „#“, „+“, „-“, „=“, „|“, „{“, „}“, „.“, „!“ должны быть экранированы предшествующим символом „\“.
В случае неоднозначности между курсивными и подчеркивающими сущностями __ всегда рассматривается слева направо как начало или конец подчеркивающей сущности, поэтому вместо ___италического подчеркивания___ используйте ___италическое подчеркивание_**__, добавив пустую полужирную сущность в качестве разделителя.
В качестве альтернативного значения для пользовательского эмодзи должен быть указан допустимый эмодзи. Этот эмодзи будет показан вместо пользовательского в местах, где пользовательский эмодзи не может быть показан (например, в системных уведомлениях), или если сообщение пересылается не премиум-пользователем. Рекомендуется использовать эмодзи из поля эмодзи пользовательского стикера эмодзи.
Пользовательские сущности emoji могут использоваться только ботами, которые приобрели дополнительные имена пользователей на Fragment.
Стиль HTML
Чтобы использовать этот режим, передайте HTML в поле parse_mode. В настоящее время поддерживаются следующие теги:
Код: Выделить всё
<b>bold</b>, <strong>bold</strong>
<i>italic</i>, <em>italic</em>
<u>underline</u>, <ins>underline</ins>
<s>strikethrough</s>, <strike>strikethrough</strike>, <del>strikethrough</del>
<span class="tg-spoiler">spoiler</span>, <tg-spoiler>spoiler</tg-spoiler>
<b>bold <i>italic bold <s>italic bold strikethrough <span class="tg-spoiler">italic bold strikethrough spoiler</span></s> <u>underline italic bold</u></i> bold</b>
<a href="http://www.example.com/">inline URL</a>
<a href="tg://user?id=123456789">inline mention of a user</a>
<tg-emoji emoji-id="5368324170671202286">👍</tg-emoji>
<code>inline fixed-width code</code>
<pre>pre-formatted fixed-width code block</pre>
<pre><code class="language-python">pre-formatted fixed-width code block written in the Python programming language</code></pre>
<blockquote>Block quotation started\nBlock quotation continued\nThe last line of the block quotation</blockquote>
<blockquote expandable>Expandable block quotation started\nExpandable block quotation continued\nExpandable block quotation continued\nHidden by default part of the block quotation started\nExpandable block quotation continued\nThe last line of the block quotation</blockquote>
Обратите внимание:
В настоящее время поддерживаются только вышеуказанные теги.
Все символы <, > и &, которые не являются частью тега или HTML-сущности, должны быть заменены на соответствующие HTML-сущности (< на <, > на > и & на &).
Поддерживаются все числовые сущности HTML.
В настоящее время API поддерживает только следующие именованные HTML-сущности: <, >, & и ".
Используйте вложенные теги pre и code, чтобы определить язык программирования для сущности pre.
Язык программирования не может быть указан для отдельных тегов code.
В качестве содержимого тега tg-emoji должен быть использован правильный эмодзи. Эмодзи будет показан вместо пользовательского эмодзи в местах, где пользовательский эмодзи не может быть показан (например, в системных уведомлениях), или если сообщение пересылается не премиум-пользователем. Рекомендуется использовать эмодзи из поля эмодзи пользовательского стикера эмодзи.
Пользовательские сущности emoji могут использоваться только ботами, которые приобрели дополнительные имена пользователей на Fragment.
Стиль Markdown
Это устаревший режим, сохраненный для обратной совместимости. Чтобы использовать этот режим, передайте Markdown в поле parse_mode. В сообщении используйте следующий синтаксис:
Код: Выделить всё
*bold text*
_italic text_
[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
```
Обратите внимание:
Сущности не должны быть вложенными, вместо этого используйте режим разбора MarkdownV2.
Нет возможности указать сущности «underline», «strikethrough», «spoiler», «blockquote», „expandable_blockquote“ и «custom_emoji», используйте режим разбора MarkdownV2.
Чтобы избежать символов „_“, „*“, „`“, „[“ вне сущности, добавьте перед ними символ „\“.
Экранирование внутри сущностей не разрешено, поэтому сущность должна быть сначала закрыта, а затем снова открыта: используйте _snake_\__case_ для курсивного змеиного_корпуса и *2*\**2=4* для полужирного 2*2=4.
Платные трансляции
По умолчанию все боты могут транслировать своим пользователям до 30 сообщений в секунду. Разработчики могут увеличить этот лимит, включив платные трансляции в @Botfather - это позволит их боту транслировать до 1000 сообщений в секунду.
Каждое сообщение, транслируемое сверх бесплатного лимита в 30 сообщений в секунду, стоит 0,1 звезды за сообщение и оплачивается с помощью Telegram Stars с баланса бота. Чтобы воспользоваться этой функцией, на балансе бота должно быть не менее 10 000 звезд.
С ботов с увеличенным лимитом плата взимается только за успешно переданные сообщения.
forwardMessage
Используйте этот метод для пересылки сообщений любого типа. Служебные сообщения и сообщения с защищенным содержимым не могут быть пересланы. В случае успеха возвращается отправленное сообщение.