Решение для управления Телеграм-ботами из системы Directum RX

Следующий проект

Введение

Телеграм боты в своё время приобрели большую популярность из-за возможности автоматизации многих процессов, доступности и удобства.

Но у ботов есть общий недостаток – это необходимость доработки, с привлечением разработчика, при изменении старых и появлении новых требований, если бот создавался под определённые процессы, или перенастройка простых ботов в сторонних сервисах с необходимостью обновления информации, которая утратила актуальность.

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

Решение

Основной идеей данного решения является перенос настройки и администрирования ботов в систему Directum RX, что позволит:

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

Рисунок 1. Пример передвижения по иерархии меню.

Пример настройки бота

Рассмотрим возможности и настройки на готовом боте.

Настройка бота начинается с добавления записи справочника Боты.

Рисунок 2. Карточка записи справочника Боты.

Свойство Токен необходимо для получения настройки бота при получении сообщения от промежуточного сервиса.

Так же предусмотрена настройка Обновлять сообщение, при включении которой, первое сообщение от бота будет обновляться. В ином случае каждое новое сообщение от бота будет прислано отдельно.

Блок Приветствие предназначен для заполнения текста Первого сообщения от бота или повторного вызова главного меню. Можно использовать поддерживаемые Телеграм html теги. Так же можно подгрузить изображение, которое будет прикреплено к сообщению.

Коллекция Меню содержит в себе доступные действия, которые будут отображены в присланном ботом сообщении. Есть возможность указать порядок отображения действий в боте.

После основных настроек бота можно приступать к настройкам пунктов меню, которые в боте являются действиями.

Рисунок 3. Карточка записи справочника Меню.

Отличительной чертой настройки меню в данный момент является наличие коллекции Файлы и чек-бокса Только отправлять документы. Благодаря данной настройке можно возвращать пользователю в бот последние версии выбранных документов как с обновлением уровня меню бота, так и просто вернуть версии без обновления меню.

Рисунок 4. Пример настройки пункта меню, как действия для получения файла.

Рисунок 5. Пример получения файла в боте.

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

Рисунок 6. Карточка записи справочника Клиенты.

Архитектура в двух словах

Для реализации идеи потребовалась разработка промежуточного сервиса ServiceBot, цель которого заключается в преобразовании в нужный формат сообщения из Телеграм и отправки его методу сервиса интеграции Directum RX.

Сервис создан на .Net 6 Minimal API. На данный момент для каждого бота требуется развернуть свой экземпляр сервиса, изменив только основные настройки в конфигурационном файле.

Рисунок 7 Общая архитектура решения.

Решение Directum RX состоит из:

  • Справочник Боты – создан для подключения и настройки бота.
  • Справочник Меню – для создания и настройки пунктов меню.
  • Справочник Клиенты – создан для хранения основной информации о подключившемся к боту сотруднике.

Рисунок 8. Обобщённая схема решения Directum RX.

Макросы

Макросы предназначены для внесения в запись бота/меню привязок к свойствам выбранной сущности, как источника данных, чтобы завязаться на данные первоисточника и в дальнейшем не приходилось менять данные в первоисточнике и настройках бота.

Сейчас есть макросы двух типов: макросы от сущности и предопределённые.

1. Макросы от сущности.

В карточке меню можно выбрать сущность системы и указать какие её свойства использовать как макросы.

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

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

Рисунок 9. Пример настройки макросов по сущности.

2. Предопределённый макрос.

Сейчас добавлен один макрос данного типа: {Сотрудник}.

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

К примеру, в приветственном сообщение бота можно использовать следующее содержимое: «Привет, {Сотрудник.Персона.Имя}! Я познакомлю тебя с нашей компанией!».

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

Рисунок 10. Пример использования макросов для записи Меню.

Рисунок 11. Пример отображения макросов в боте.

Результат

  • Покрытие определённых бизнес-задач без привлечения разработчика, основные требования покрываются настройкой. 
  • Уменьшение затрат на поддержку и сопровождение решения.
  • Разнообразие вариантов применения решения в рамках работы в компании.

На текущей стадии реализации, решение уже покрывает часть внутренних потребностей.

По возможности решение планируется развернуть внутри компании и собрать обратную связь, т.к. именно на основе отзывов пользователей и администраторов решение будет дорабатываться и обретёт финальный вид.

Следующим шагом видится внедрение системы проверки знаний и подтверждения компетенций сотрудников компании в ботах c возможностью сбора метрик с результатами.

Планы на развитие

  1. Добавить поддержку основных типов взаимодействия с Телеграм и максимально гибкую их настройку для ботов из системы Directum RX. Это расширит сферы применения ботов, даст возможность не просто передвигаться по меню, но и заносить информацию в систему.
  2. Доработка для использования ботов в качестве платформы для проверки знаний и подтверждения компетенций сотрудников компании.
  3. Автоматизация сотрудников, редко взаимодействующих с Directum RX.
  4. Расширение возможностей макросов.
  5. Нагрузочное тестирование.

Команда

  • Зайцев Денис.
Пока комментариев нет.
Авторизуйтесь, чтобы написать комментарий

У вас похожая задача?

Обсудите реализацию с экспертом Directum

Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле
Обязательное поле

Благодарим за интерес! Мы свяжемся с вами.

Directum Awards 2024
Какой проект лучше?
Авторизуйтесь, чтобы оценить материал.
Авторизуйтесь, чтобы оценить материал.
Directum Awards 2024
Спасибо за активность!
Ваш голос принят