Форматирование текста (BB-коды)

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации

Сообщения чат-бота поддерживают BB-коды: выделение текста, цитаты, ссылки, переносы строк и управляющие теги для команд.

В данный момент платформа поддерживает только BBCode.
Поддержка Markdown появится в будущих обновлениях.
Сейчас Markdown не поддерживается.

Методы, которые поддерживают форматирование:

Чат-боты 2.0 (imbot.v2)

Чаты (im)

Уведомления (im.notify)

Поддерживаемые BB-коды

Форматирование текста

Код

Назначение

Пример

[b]...[/b]

Жирный текст

[b]жирный[/b]

[i]...[/i]

Курсив

[i]курсив[/i]

[u]...[/u]

Подчеркивание

[u]подчеркнутый[/u]

[s]...[/s]

Зачеркивание

[s]зачеркнутый[/s]

[size=N]...[/size]

Размер шрифта

[size=20]крупно[/size]

[color=#HEX]...[/color]

Цвет текста

[color=#ff0000]красный[/color]

Для size используется диапазон 8-30px. Для color поддерживаются HEX-значения из 3 или 6 символов.

Ссылки и навигация

Код

Назначение

Пример

[url]...[/url]

Ссылка, где текст равен URL

[url]https://example.com[/url]

[url=URL]...[/url]

Ссылка с произвольным текстом

[url=https://example.com]текст[/url]

[user=userId]...[/user]

Упоминание пользователя

[user=123]Иван[/user]

[user=all]...[/user]

Упоминание всех участников чата

[user=all]Все[/user]

[chat=chatId]...[/chat]

Упоминание чата

[chat=456]Группа[/chat]

[chat=imol|ID]...[/chat]

Упоминание открытой линии

[chat=imol|789]Линия[/chat]

[context=dialog/message]...[/context]

Ссылка на сообщение в диалоге

[context=chat123/456]ссылка[/context]

Цитаты и код

Код

Назначение

Пример

>>текст

Строка цитаты (в начале строки)

>>это цитата

------ ... ------

Полная цитата сообщения

------ ... ------

[code]...[/code]

Блок кода

[code]console.log("hi")[/code]

Изображения и иконки

Код

Назначение

Пример

[img size=SIZE]URL [/img]

Вставка изображения

[img size=medium]https://example.com/pic.jpg [/img]

[icon=URL ...]

Инлайн-иконка

[icon=https://example.com/i.png size=20 title=smile]

Для тега img параметр size обязателен: small, medium, large. После URL нужен пробел перед [/img].

Действия и звонки

Код

Назначение

Пример

[put=команда]текст[/put]

Подставить команду в поле ввода

[put=/help]Справка[/put]

[send=команда]текст[/send]

Сразу отправить команду

[send=/start]Старт[/send]

[call=номер]текст[/call]

Ссылка на звонок

[call=+79991234567]Позвонить[/call]

[call]номер[/call]

Номер берется из текста

[call]+79991234567[/call]

Дата/время и файлы

Код

Назначение

Пример

[timestamp=UNIX format=FORMAT]

Форматированная дата/время в таймзоне пользователя

[timestamp=1645844720 format=SHORT_TIME_FORMAT]

[disk=ID]

Ссылка на файл Битрикс24.Диска

[disk=123]

Служебные элементы

Элемент

Назначение

[br]

Перенос строки

\n

Перенос строки

4 пробела

Табуляция

Примеры

Базовое форматирование

[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);
}
from b24pysdk.errors import BitrixAPIError, BitrixSDKException

try:
    bitrix_response = client.imbot.v2.chat.message.send(
        bot_id=456,
        dialog_id="chat2725",
        fields={
            "message": "[b]Важное сообщение[/b][br]Откройте [url=https://bitrix24.com]сайт[/url][br][send=/help]Помощь[/send]",
        },
    ).response
    result = bitrix_response.result["id"]
    print(result)
except BitrixAPIError as error:
    print(
        "Ошибка Bitrix API",
        f"error: {error.error}",
        f"error_description: {error.error_description}",
        sep="\n",
    )
except BitrixSDKException as error:
    print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
    print(f"Непредвиденная ошибка: {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'];
}

Продолжите изучение