Телеграм-бот для создания процесса

Бот предназначен для создания процессов с использованием возможностей Telegram API

Боты, создающие конкретный процесс, наследуются от сущности ProcessableBot. В рамках этой сущности определен базовый набор функциональных возможностей, таких как:

  • Заполнение текстового параметров путём вводы значения в чате;

  • Заполнение спискового параметра выбором варианта ответа по кнопке в чате;

  • Заполнение файлового параметра, путём загрузки и отправки файлов в чат.

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

Пример:

<bot_type>.bot.token=<bot_token>
<bot_type>.bot.username=<bot_name>

Где:

  • <bot_type> - тип бота, необходимый для отличения его конфигурации от конфигураций других ботов (задаётся разработчиком бота);

  • <bot_token> - токен бота;

  • <bot_name> - имя бота.

ProcessableBot использует вспомогательные, поясняющие параметры, которые также указываются в основной конфигурации

Для работы бота необходимо как минимум добавить в него две команды: /new и /my.

Если не указать команду /new - будет невозможно создать и заполнить новый процесс. Если не указать команду /my - будет невозможно посмотреть полный список процессов, созданных в рамках взаимодействия с данным ботом.
При добавлении команды учтите, что названием команды /new является "new", а не "/new".
Для того, чтобы создать своего бота можно воспользоваться https://t.me/BotFather. Вам понадобится всего пара команд: /newbot - создание бота, /setcommands - для добавления минимально необходимых для работы бота команд, описанных выше

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

bot.wizard.parameters=<paramIds>
bot.wizard.activeStatuses=<activeStatusIds>
bot.wizard.submitStatus=<submitStatusId>
bot.wizard.cancelStatus=<cancelStatusId>
bot.wizard.finishStatus=<finishStatusId>

Где:

  • <paramIds> - список id параметров заполняемых параметров через запятую, порядок в этом списке - порядок заполнения;

  • <activeStatusIds> - список id активных статусов через запятую;

  • <submitStatus> - id статуса отправки;

  • <cancelStatus> - id статуса отмены;

  • <finishStatus> - id статуса завершения.

Аналогичным образом на базе этого бота возможно добавление и других ботов, создающих процессы определённого типа и заполняющих их параметры.