Форматирование текста
Форматирование текста
TrueConf Chatbot Connector поддерживает базовое форматирование текста сообщений: жирный шрифт, курсив, подчёркивание, зачёркивание, цитаты, а также встроенные ссылки. Клиенты TrueConf отображают их соответствующим образом.API поддерживает три типа оформления сообщений (параметр parseMode):
text— текст без форматирования. Будут сохранены и отображены все символы;markdown— поддерживается базовая разметка Markdown. Специальные символы преобразуются в форматированный текст (жирный, курсив, ссылки и т.д.);html— HTML-теги будут интерпретированы и отобразятся как форматированный текст.
Поддерживаемый синтаксис
| Стиль | Markdown | HTML |
|---|---|---|
| Жирный | **текст** | <b>текст</b> |
| Курсив | *текст* / _текст_ | <i>текст</i> |
| Подчёркнутый 5.5.6+ | __текст__ | <u>текст</u> |
| Зачёркнутый | ~~текст~~ | <s>текст</s> |
| Ссылка | [текст](https://url) | <a href="https://url">текст</a> |
| Перенос строки | \n | <br> |
| Ответ цитатой 5.5.6+ | >текст\n\nответ | <quote class="reply">текст</quote><br><br>ответ |
| Упоминание (mention) 5.5.3+ | [John](trueconf:john_doe@d.com) | <a href="trueconf:john_doe@d.com">John</a> |
при этом:
с версии TrueConf Server 5.5.6+ синтаксис
__жирный__больше не поддерживается для выделения текста жирным. Используйте его только для подчёркивания текста;для переноса строки в формате
markdownиспользуйте управляющий символ\n. В форматеhtmlвсе символы\nзаменяются на один пробел. Для переноса строки используйте тег<br>;ответ цитатой отображается в клиентском приложении только в том случае, если сообщение является ответом на другое сообщение. Для этого в
payloadдолжен быть указан параметрreplyMessageId. Цитата должна находиться в начале сообщения: при размещении внутри текста она не отображается;все неподдерживаемые HTML-теги и их атрибуты удаляются. Чтобы передать HTML-тег как текст, его необходимо экранировать. Например,
<i style="position: fixed; top:0">Hacked</i>будет преобразован в Hacked;если пользователь является участником группового чата или канала с отключёнными уведомлениями, при упоминании (mention) он всё равно получит уведомление с символом @.
Примеры форматирования
Примеры форматирования для каждого режима:
**жирный текст**
*курсивный текст* / _курсивный текст_
__подчёркнутый текст__
~~зачёркнутый текст~~
[сайт](https://example.com)
[упоминание](trueconf:mention@example.com)
первая строка\nвторая строка\n\nпосле пустой строки
>цитируемый текст\n\nответ на цитату<b>жирный текст</b>
<i>курсивный текст</i>
<u>подчёркнутый текст</u>
<s>зачёркнутый текст</s>
<a href="https://example.com">сайт</a>
<a href="trueconf:mention@example.com">упоминание</a>
первая строка<br>вторая строка<br><br>после пустой строки
<quote class="reply">цитируемый текст</quote><br><br>ответПримеры запросов
Пример отправки форматированного сообщения в каждом из режимов:
{
"type": 1,
"id": 1,
"method": "sendMessage",
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"replyMessageId": "3d968a21-543c-4fb2-9d8e-e31e3fbb35eb",
"content": {
"text": ">корпоратив\n\n**Уважаемые _коллеги_!** Напоминаем __подробности__ по ссылке: [сайт](https://example.com). Все вопросы к [руководству](trueconf:ceo@example.com)!",
"parseMode": "markdown"
}
}
}{
"type": 1,
"id": 1,
"method": "sendMessage",
"payload": {
"chatId": "c8c3eee8-9ad0-4638-9692-ad16391a4256",
"replyMessageId": "3d968a21-543c-4fb2-9d8e-e31e3fbb35eb",
"content": {
"text": "<quote class=\"reply\">корпоратив</quote><br><br><b>Уважаемые <i>коллеги</i>!</b> Напоминаем <u>подробности</u> ссылке: <a href=\"https://example.com\">сайт</a>. Все вопросы к <a href=\"trueconf:ceo@example.com\">руководству</a>!",
"parseMode": "html"
}
}
}