Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

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

Данная инструкция касается только конкретного примера бота и не распространяется на собственные реализации.

Требования к окружению

  • OS: Linux/Windows

  • Go: 1.1722+

Сборка и запуск

Сборка из исходников и актуальная документация

https://github.com/1C-Connect/1cconnect-text-bot

...

Note

Сборка требует установленного окружения!
Installing Go

Запуск собранной версии

Code Block
./connect-text-bot --config=config.yml --bot=bot.yml

...

  • Подготовить машину имеющую доступ в интернет и способную принимать HTTP запросы из интернета.

    • Лучшим выбором будет Linux, возможно использование виртуальной машины

  • Настроить пользователя API в кабинете администратора 1С-Коннект:

    • Раздел Администрирование -> Настройки API

    • Создать нового пользователя.

  • Включить опцию Внешний сервер для обработки данных в нужной линии:

    • Откройте в карточку линии и в разделе Чат-бот включите соответствующую настройку.

  • Необходимо получить ID линии для которой была включена внешняя обработка

  • На подготовленный сервер загрузить приложение бота, файл с цифровым меню.

  • Сконфигурировать и запустить приложение:

    • Создать конфигурационный файл. Пример лежит в файле config/config.yml.sample и отредактировать его.

    • Указать в блоке server адрес к серверу на котором развернут бот.

...

Code Block
buttons:
  - button:
      id: 9
      text: 'Закрыть обращение'
      close_button: true

Как перевести обращение на свободного специалиста:

Code Block
buttons:
  - button:
      id: 0
      text: 'Перевести на специалиста'
      redirect_button: true

Как перевести на конкретного специалиста:

Code Block
buttons:
  - button:
      id: 2
      text: 'Соединить со специалистом Иванов И.И.'
      appoint_spec_button: bb296731-3d58-4c4a-8227-315bdc2bf3ff

Как перевести на случайного специалиста из списка:

Code Block
buttons:
  - button:
      id: 2
      text: 'Соединить с одним из консультантов'
      appoint_random_spec_from_list_button:
            - bb296731-3d58-4c4a-8227-315bdc2bf1ff
            - bb296731-3d58-4c4a-8227-315bdc2bf2ff
            - bb296731-3d58-4c4a-8227-315bdc2bf3ff

Как перевести обращение на другую линию:

Code Block
buttons:
  - button:
      id: 3
      text: 'Перевод обращения на линию "1С-Коннект: Техподдержка"'
      reroute_button: bb296731-3d58-4c4a-8227-315bdc2bf3ff

Как выполнить команду на стороне сервера:

Code Block
buttons:
  - button:
      id: 3
      text: 'Выполнить команду на стороне сервера'
      exec_button: "./scripts/example.sh {{ .User.UserId }} {{ .User.Surname }} {{ .User.Name }}"

В команду можно передать данный относящиеся к структуре объекта User в формате {{ .User.НазваниеПоля }}

Скрипт example.sh имеет следующее содержание

Code Block
#!/bin/bash

echo -n $1 | base64 
echo -n $2 $3

Не забудьте сделать скрипт исполняемым

Code Block
chmod +x ./scripts/example.sh

Как создать меню?

Способ №1

...