Info |
---|
Данный бот в качестве примера реализует произвольное конфигурируемое текстовое меню на линиях. Для более быстрой реализации вашего бота рекомендуем внимательно ознакомиться с документацией к сервису. Данная инструкция касается только конкретного примера бота и не распространяется на собственные реализации. |
Требования к окружению
OS: Linux/Windows
Go: 1.1722+
Сборка и запуск
Сборка из исходников и актуальная документация
https://github.com/1C-Connect/1cconnect-text-bot
...
Note |
---|
Сборка требует установленного окружения! |
Запуск собранной версии
Code Block |
---|
./connect-text-bot --config=config.yml --bot=bot.yml |
...
Подготовить машину имеющую доступ в интернет и способную принимать HTTP запросы из интернета.
Лучшим выбором будет Linux, возможно использование виртуальной машины
Настроить пользователя API в кабинете администратора 1С-Коннект:
Раздел Администрирование -> Настройки API
Создать нового пользователя.
Включить опцию Внешний сервер для обработки данных в нужной линии:
Откройте в карточку линии и в разделе Чат-бот включите соответствующую настройку.
Необходимо получить ID линии для которой была включена внешняя обработка
Выполнит запрос 4.2.34.5. Получение доступных линий поддержки (можно открыть ссылку https://push.1c-connect.com/v1/line/ в браузере и ввести логин/пароль от ранее созданного пользователя).
Найти линию в списке и сохранить ее 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
...