Форматирование текста (BB-коды)
Сообщения чат-бота поддерживают BB-коды: выделение текста, цитаты, ссылки, переносы строк и управляющие теги для команд.
В данный момент платформа поддерживает только BBCode.
Поддержка Markdown появится в будущих обновлениях.
Сейчас Markdown не поддерживается.
Методы, которые поддерживают форматирование:
Чат-боты 2.0 (imbot.v2)
- imbot.v2.Chat.Message.send — отправить сообщение от имени бота
- imbot.v2.Chat.Message.update — обновить текст отправленного сообщения
- imbot.v2.Command.answer — отправить ответ на команду
Чаты (im)
- im.message.add — отправить сообщение в чат
- im.message.update — обновить отправленное сообщение
Уведомления (im.notify)
- im.notify — отправить уведомление
- im.notify.personal.add — отправить персональное уведомление
- im.notify.system.add — отправить системное уведомление
Устаревшие чат-боты (imbot)
- imbot.message.add — отправить сообщение от имени чат-бота
- imbot.message.update — обновить отправленное сообщение чат-бота
- imbot.command.answer — отправить ответ на команду чат-бота
Поддерживаемые BB-коды
Форматирование текста
|
Код |
Назначение |
Пример |
|
|
Жирный текст |
|
|
|
Курсив |
|
|
|
Подчеркивание |
|
|
|
Зачеркивание |
|
|
|
Размер шрифта |
|
|
|
Цвет текста |
|
Для size используется диапазон 8-30px. Для color поддерживаются HEX-значения из 3 или 6 символов.
Ссылки и навигация
|
Код |
Назначение |
Пример |
|
|
Ссылка, где текст равен URL |
|
|
|
Ссылка с произвольным текстом |
|
|
|
Упоминание пользователя |
|
|
|
Упоминание всех участников чата |
|
|
|
Упоминание чата |
|
|
|
Упоминание открытой линии |
|
|
|
Ссылка на сообщение в диалоге |
|
Цитаты и код
|
Код |
Назначение |
Пример |
|
|
Строка цитаты (в начале строки) |
|
|
|
Полная цитата сообщения |
|
|
|
Блок кода |
|
Изображения и иконки
|
Код |
Назначение |
Пример |
|
|
Вставка изображения |
|
|
|
Инлайн-иконка |
|
Для тега img параметр size обязателен: small, medium, large. После URL нужен пробел перед [/img].
Действия и звонки
|
Код |
Назначение |
Пример |
|
|
Подставить команду в поле ввода |
|
|
|
Сразу отправить команду |
|
|
|
Ссылка на звонок |
|
|
|
Номер берется из текста |
|
Дата/время и файлы
|
Код |
Назначение |
Пример |
|
|
Форматированная дата/время в таймзоне пользователя |
|
|
|
Ссылка на файл Битрикс24.Диска |
|
Служебные элементы
|
Элемент |
Назначение |
|
|
Перенос строки |
|
|
Перенос строки |
|
|
Табуляция |
Примеры
Базовое форматирование
[b]полужирный[/b] текст
[u]подчеркнутый[/u] текст
[i]наклонный[/i] текст
[s]перечеркнутый[/s] текст

Переносы и цитаты
Первая строка[br]Вторая строка
>>первая строка цитаты
>>вторая строка цитаты


Ссылки и команды
[url=https://bitrix24.ru]Ссылка на Битрикс24[/url]
[send=/help]Показать помощь[/send]
[put=/search]Введите строку поиска[/put]


Иконки
[icon=http://files.shelenkov.com/images/unicorn.png size=30 title=Единорог]

Пример отправки сообщения с форматированием
Как использовать примеры в документации
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"botToken":"my_bot_token","dialogId":"chat2725","fields":{"message":"[b]Важное сообщение[/b][br]Откройте [url=https://bitrix24.ru]сайт[/url][br][send=/help]Помощь[/send]"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/imbot.v2.Chat.Message.send
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"botId":456,"dialogId":"chat2725","fields":{"message":"[b]Важное сообщение[/b][br]Откройте [url=https://bitrix24.ru]сайт[/url][br][send=/help]Помощь[/send]"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/imbot.v2.Chat.Message.send
try {
const response = await $b24.callMethod('imbot.v2.Chat.Message.send', {
botId: 456,
dialogId: 'chat2725',
fields: {
message: '[b]Важное сообщение[/b][br]Откройте [url=https://bitrix24.ru]сайт[/url][br][send=/help]Помощь[/send]',
},
});
const result = response.getData().result.id;
console.log('Created message ID:', result);
} catch (error) {
console.error('Error:', error);
}
try {
$response = $b24Service
->core
->call(
'imbot.v2.Chat.Message.send',
[
'botId' => 456,
'dialogId' => 'chat2725',
'fields' => [
'message' => '[b]Важное сообщение[/b][br]Откройте [url=https://bitrix24.ru]сайт[/url][br][send=/help]Помощь[/send]',
],
]
);
$result = $response
->getResponseData()
->getResult()['id'];
echo 'Created message ID: ' . $result;
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error: ' . $e->getMessage();
}
BX24.callMethod(
'imbot.v2.Chat.Message.send',
{
botId: 456,
dialogId: 'chat2725',
fields: {
message: '[b]Важное сообщение[/b][br]Откройте [url=https://bitrix24.ru]сайт[/url][br][send=/help]Помощь[/send]',
},
},
function(result) {
if (result.error()) {
console.error(result.error().ex);
} else {
console.log('Message ID:', result.data().id);
}
}
);
require_once('crest.php');
$result = CRest::call(
'imbot.v2.Chat.Message.send',
[
'botId' => 456,
'dialogId' => 'chat2725',
'fields' => [
'message' => '[b]Важное сообщение[/b][br]Откройте [url=https://bitrix24.ru]сайт[/url][br][send=/help]Помощь[/send]',
],
]
);
if (!empty($result['error'])) {
echo 'Error: ' . $result['error_description'];
} else {
echo 'Message ID: ' . $result['result']['id'];
}
Продолжите изучение
- Работа с клавиатурами
- Вложения в сообщениях ATTACH
- Отправить сообщение imbot.v2.Chat.Message.send
- Обновить сообщение imbot.v2.Chat.Message.update