Телеграм боты в своё время приобрели большую популярность из-за возможности автоматизации многих процессов, доступности и удобства.
Но у ботов есть общий недостаток – это необходимость доработки, с привлечением разработчика, при изменении старых и появлении новых требований, если бот создавался под определённые процессы, или перенастройка простых ботов в сторонних сервисах с необходимостью обновления информации, которая утратила актуальность.
Идея решения для управления ботами зародилась из желания упростить новым сотрудникам освоение в компании и всегда иметь под рукой необходимую актуальную информацию. А также закрыть некоторые внутренние потребности отделов.
Основной идеей данного решения является перенос настройки и администрирования ботов в систему Directum RX, что позволит:
Рисунок 1. Пример передвижения по иерархии меню.
Рассмотрим возможности и настройки на готовом боте.
Настройка бота начинается с добавления записи справочника Боты.
Рисунок 2. Карточка записи справочника Боты.
Свойство Токен необходимо для получения настройки бота при получении сообщения от промежуточного сервиса.
Так же предусмотрена настройка Обновлять сообщение, при включении которой, первое сообщение от бота будет обновляться. В ином случае каждое новое сообщение от бота будет прислано отдельно.
Блок Приветствие предназначен для заполнения текста Первого сообщения от бота или повторного вызова главного меню. Можно использовать поддерживаемые Телеграм html теги. Так же можно подгрузить изображение, которое будет прикреплено к сообщению.
Коллекция Меню содержит в себе доступные действия, которые будут отображены в присланном ботом сообщении. Есть возможность указать порядок отображения действий в боте.
После основных настроек бота можно приступать к настройкам пунктов меню, которые в боте являются действиями.
Рисунок 3. Карточка записи справочника Меню.
Отличительной чертой настройки меню в данный момент является наличие коллекции Файлы и чек-бокса Только отправлять документы. Благодаря данной настройке можно возвращать пользователю в бот последние версии выбранных документов как с обновлением уровня меню бота, так и просто вернуть версии без обновления меню.
Рисунок 4. Пример настройки пункта меню, как действия для получения файла.
Рисунок 5. Пример получения файла в боте.
Справочник Клиенты хранит информацию о взаимодействии сотрудника с ботом. В записях данного типа обновляется только информация, связанная с положением пользователя в иерархии меню.
Рисунок 6. Карточка записи справочника Клиенты.
Для реализации идеи потребовалась разработка промежуточного сервиса ServiceBot, цель которого заключается в преобразовании в нужный формат сообщения из Телеграм и отправки его методу сервиса интеграции Directum RX.
Сервис создан на .Net 6 Minimal API. На данный момент для каждого бота требуется развернуть свой экземпляр сервиса, изменив только основные настройки в конфигурационном файле.
Рисунок 7 Общая архитектура решения.
Решение Directum RX состоит из:
Рисунок 8. Обобщённая схема решения Directum RX.
Макросы предназначены для внесения в запись бота/меню привязок к свойствам выбранной сущности, как источника данных, чтобы завязаться на данные первоисточника и в дальнейшем не приходилось менять данные в первоисточнике и настройках бота.
Сейчас есть макросы двух типов: макросы от сущности и предопределённые.
В карточке меню можно выбрать сущность системы и указать какие её свойства использовать как макросы.
Данная настройка служит для динамического формирования сообщения пункта меню и призвана для облегчения администрирования бота.
К примеру, если бот будет содержать пункт меню с информацией о Нашей организации, то при изменении реквизитов по макросам они будут всегда актуальны.
Рисунок 9. Пример настройки макросов по сущности.
Сейчас добавлен один макрос данного типа: {Сотрудник}.
Данный тип макроса позволяет строить цепочку макросов и призван в первую очередь добавить в общение бота с сотрудником индивидуальности.
К примеру, в приветственном сообщение бота можно использовать следующее содержимое: «Привет, {Сотрудник.Персона.Имя}! Я познакомлю тебя с нашей компанией!».
Или создать отдельный пункт меню, где сотрудник получит основную информацию о себе.
Рисунок 10. Пример использования макросов для записи Меню.
Рисунок 11. Пример отображения макросов в боте.
На текущей стадии реализации, решение уже покрывает часть внутренних потребностей.
По возможности решение планируется развернуть внутри компании и собрать обратную связь, т.к. именно на основе отзывов пользователей и администраторов решение будет дорабатываться и обретёт финальный вид.
Следующим шагом видится внедрение системы проверки знаний и подтверждения компетенций сотрудников компании в ботах c возможностью сбора метрик с результатами.
Опубликовано:
26 марта в 15:12
Обсудите реализацию с экспертом Directum