На просто сообщения Юра на данный момент не реагирует. Только на одну команду — START. Когда поступает команда /start, происходит запрос в БД Бота, где проверяется наличие записи по телеграм ID. Если запись находит, идет еще один запрос уже в REST сервис 1С с корпоративной почтой, где мы получаем всю информацию, в том числе рабочий статус. Если бот нашел запись в 1С, то в store приложения записывается вся актуальная по информация, в том числе по отпускам. Идентификатор наличия сессии — это записанный в store ID пользователя. Бот выводит приветственное персонализированное сообщение и устанавливает таймер активной сессии на 15 минут при маунте любого компонента внутри авторизованной зоны. По сути — это простой setTimeout. Если вы бездействуете, время истекает и бот запускает колбек на очищение store и редидектит на приветственное сообщение. Если вас в БД не находит, он предлагает зарегистрироваться, используя корпоративную почту.
Регистрация
Более же интересная регистрация в Юре. У нас нет в проекте как такового разделения на фронт или бэк. В чат ботах такого разделения просто не бывает. Логическое — да, но не физическое. Как я уже говорил, если бот не находит вас в его БД он вам предлагает зарегистрироваться и врубает вам соответствующий сценарий. Мы для регистрации используем корпоративную почту, так проще всего найти данные в 1С. Пользователю предлагается ввести почту, а далее в связи с тем что у нас в Орбите не одно юр. лицо, баз данных много. И бот, когда обрабатывает любой ваш запрос к 1С, идет по всем БДшкам с одним и тем же запросом, и если он находит хотя бы одну запись, данные формируются, сливаются в один объект, если их больше одного и записываются в стор. Далее идет генерация временного ОТП кода с соответствующей записью в БД бота. Если вы вводите верный код, ваша почта и ID в Telegram попадает сразу в БД бота. Если же вы ввели 3 раза неверный код, бот вас просто заблочит на полчаса.