12  /  166

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

Просмотров: 50045
Дата последнего изменения: 21.10.2024
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5

Сообщение можно форматировать, добавлять полужирный шрифт, перечеркивать и вставлять цитаты. В уроке приводятся команды пользователя, внешний вид и REST API для форматирования сообщений чата.

Обратите внимание! Все методы указаны с использованием функции restCommand - это метод отправки данных в Битрикс24, данный метод есть в примере ЭхоБота, и представлен здесь в качестве примера. Вы можете использовать свою функцию или javascript-метод BX24.callMethod или bitrix24-php-sdk.


Коды форматирования

Если в чат отправить данное сообщение:

[B]полужирный[/B] текст
[U]подчеркнутый[/U] текст
[I]наклонный текст[/I] текст
[S]перечеркнутый[/S] текст

То оно отобразится таким образом:

Форматирование с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "[B]полужирный[/B] текст
[U]подчеркнутый[/U] текст
[I]наклонный текст[/I] текст
[S]перечеркнутый[/S] текст",
), $_REQUEST["auth"]);


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

Перенос строки осуществляется добавлением в текст символов:

[BR]
# BR # (без пробелов)
\n

Любой из этих кодов, сформирует перенос строки:

Перенос строки с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "Первая строка[BR]Вторая строка",
), $_REQUEST["auth"]);


Цитирование

Цитирование текста можно сделать двумя способами:

>>первая строка цитаты
>>вторая строка цитаты

------------------------------------------------------
Дмитрий Власов [08.04.2016 13:06:49]
Привет всем
------------------------------------------------------

Вид цитирования будет немного отличаться - во втором случае будет указан автор и время написания цитаты:

Цитирование с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => ">>первая строка цитаты
>>вторая строка цитаты

------------------------------------------------------
Дмитрий Власов [08.04.2016 13:06:49]
Привет всем
------------------------------------------------------",
), $_REQUEST["auth"]);


Ссылки

Любая ссылка в тексте автоматически станет кликабельной. Если по адресу ссылки есть «богатое форматирование», то ссылка автоматически его подхватит:

Ссылки с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "http://bitrix24.ru",
), $_REQUEST["auth"]);

Если в одном сообщении несколько ссылок, то «богатое форматирование» применится только к первой ссылке.

Примечание. «Богатое форматирование» можно отключить, передав ключ 'URL_PREVIEW' => 'N' при создании сообщения:
restCommand('imbot.message.add', Array(
"DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
"MESSAGE" => "http://bitrix24.ru",
'URL_PREVIEW' => 'N' 
), $_REQUEST["auth"]);


Если вы отправите ссылку на картинку https://files.shelenkov.com/bitrix/images/mantis.jpg (окончание ссылки должно быть .png, .jpg, .gif), то она автоматически преобразуется в изображение:


Вы можете сформировать ссылку самостоятельно через код URL - [URL=http://bitrix24.ru]Ссылка на Битрикс24[/URL]:

Формирование ссылки с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "[URL=http://bitrix24.ru]Ссылка на Битрикс24[/URL]",
), $_REQUEST["auth"]);

По аналогии с кодом URL, есть специальные коды на ссылки внутри мессенджера.

  • [USER=5]Марта[/USER] - ссылка на пользователя.
  • [CALL=84012334455]позвонить[/CALL] - кнопка для осуществления звонка через Битрикс24.
  • [CHAT=12]ссылка на чат[/CHAT] - ссылка на чат.

Форматирование специальных кодов с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "[USER=5]Марта[/USER]
[CALL=84012334455]позвонить[/CALL]
[CHAT=12]ссылка на чат[/CHAT]",
), $_REQUEST["auth"]);


Отступы

Чтобы сделать отступы в сообщении, укажите символ табуляции:

Отступы с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "
Отступ
   Отступ
      Отступ",
), $_REQUEST["auth"]);


Активные ссылки (команды)

Если вы хотите, чтобы по клику на ссылку пользователь отправил какой-то текст, используйте тег SEND:

[send=текст]название кнопки[/send] - мгновенная отправка текста боту.

С помощью такого тега, вы сможете заставить пользователя отправить команду вашего бота, но существует более предпочтительный способ - Набираемые клавиатуры

Активные ссылки (команды) с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "[send=текст]название кнопки[/send] - мгновенная отправка текста боту",
), $_REQUEST["auth"]);

Если необходимо, чтобы пользователь что-то дописал к команде, используйте код PUT:

[put=/search]Введите строку поиска[/put]

С помощью данного тега можно дать возможность пользователю указать дополнительные данные для вашей команды вместо того, чтобы пользователь набирал команду вручную. После клика на такую ссылку, текст указанный в теге PUT будет подставлен в поле для ввода и пользователю достаточно будет дописать необходимые данные и нажать кнопку отправить (но существует более предпочтительный способ - Набираемые клавиатуры):

Отправка команды бота с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "[put=/search]Введите строку поиска[/put]",
), $_REQUEST["auth"]);


Иконки

Добавление своей иконки в сообщение производится отправкой кода:

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

Иконка отобразится таким образом:

Также после этого иконка будет добавлена в набор смайлов Бизнес-чата. Удалить иконку из набора можно, нажав правой кнопкой мыши на иконке в наборе и выбрав Удалить.

Обязательным свойством является указание пути до картинки (без пробелов).

Доступны дополнительные атрибуты:

  • title - заголовок;
  • height - высота;
  • width - ширина;
  • size - высота и ширина;

Для наилучшего отображения на всех устройствах, размер иконки должен быть в два раза больше, чем указан в параметрах отображения.

Добавление своей иконки с помощью rest-api:

restCommand('imbot.message.add', Array(
   "DIALOG_ID" => $_REQUEST['data']['PARAMS']['DIALOG_ID'],
   "MESSAGE" => "[icon=http://files.shelenkov.com/images/unicorn.png size=30 title=Единорог]",
), $_REQUEST["auth"]);

Примечание Подробнее как использовать вложения расширенного формата внутри сообщения читайте здесь.



10
Курсы разработаны в компании «1С-Битрикс»
Доступна новая документация по REST: понятнее описания, больше примеров, удобнее поиск
Перейти