Репозиторий шаблона разработки «Чат-бот Telegram». Код решения для Directum RX.
Шаблон позволяет:
- настраивать сотрудников, имеющих доступ в Directum RX через чат-бота;
- настраивать отвествтенных за заявки, отправленные через чат-бот.
Состав объектов разработки:
- Решение «TelegramSolution»;
- Модуль «Telegram чат-бот»;
- Справочник «Пользователи чат-бота»;
- Роль «Ответственные за заявки»;
- Функции интеграции:
- GetCounterparties - получить информацию о компаниях для телеграм-бота;
- GetDocumentTypes - получить информацию о типах документов для телеграм-бота;
- GetDocuments - получить информацию о документах для телеграм-бота;
- GetDocumentVersion - получить информацию о версии документа для телеграм-бота по ИД документа;
- SetChatId - установить Id чата для пользователя чат-бота;
- RegisterUserByToken - зарегистрировать пользователя чат-бота в Directum RX по регистрационному токену.
- CreateBotUser - создание записи справочника «Пользователи чат-бота»;
- CreateRequestFromBot - отправить заявку из чат-бота в работу;
Поскольку шаблон разработки не содержит перекрытий объектов коробочного решения, конфликты при публикации не возникнут. Это позволяет использовать функциональность, как при старте нового проекта, так и в ходе сопровождения существующих инсталляций системы.
- Разработка нового типа задачи для обработки заявок, полученных из чат-бота;
- Отправка уведомлений в чат в Telegram: В справочнике «Пользователи чат-бота» хранится ИД чата в свойстве ChatId. С помощью него можно отправить сообщение в чат напрямую из Directum RX в чат с пользователем. Для этого необходимо подключить библиотеку Telegram.Bot (https://github.com/TelegramBots/Telegram.Bot) как стороннюю библиотеку в Directum RX и сохранить где-либо api-ключ чат-бота;
Для работы требуется установленный Directum RX версии 4.12 и выше.
- Склонировать репозиторий TelegramBotRX в папку.
- Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES"> <repository folderName="Base" solutionType="Base" url="" /> <repository folderName="RX" solutionType="Base" url="<адрес локального репозитория>" /> <repository folderName="<Папка из п.1>" solutionType="Work" url="https://github.com/GarantCheboksaryDev/TelegramBotRX.git" /> </block>
Возможные варианты:
A. Fork репозитория
- Сделать fork репозитория TelegramBotRX для своей учетной записи.
- Склонировать созданный в п. 1 репозиторий в папку.
- Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES"> <repository folderName="Base" solutionType="Base" url="" /> <repository folderName="<Папка из п.2>" solutionType="Work" url="<Адрес репозитория gitHub учетной записи пользователя из п. 1>" /> </block>
B. Подключение на базовый слой.
Вариант не рекомендуется, так как при выходе версии шаблона разработки не гарантируется обратная совместимость.
- Склонировать репозиторий TelegramBotRX в папку.
- Указать в _ConfigSettings.xml DDS:
<block name="REPOSITORIES"> <repository folderName="Base" solutionType="Base" url="" /> <repository folderName="<Папка из п.1>" solutionType="Base" url="https://github.com/GarantCheboksaryDev/TelegramBotRX.git" /> <repository folderName="<Папка для рабочего слоя>" solutionType="Work" url="<Адрес репозитория gitHub>" /> </block>
C. Копирование репозитория в систему контроля версий.
Рекомендуемый вариант для проектов внедрения.
- В системе контроля версий с поддержкой git создать новый репозиторий.
- Склонировать репозиторий TelegramBotRX в папку с ключом
--mirror. - Перейти в папку из п. 2.
- Импортировать клонированный репозиторий в систему контроля версий командой:
git push –mirror <Адрес репозитория из п. 1>