Как работает бот

В этой статье мы познакомимся с принципами работы сервиса

Перед прочтением, пожалуйста, ознакомьтесь со статьями Простые команды и Цепочка диалога

Мы уже рассмотрели некоторые примеры того, как составлять простые команды и сложные цепочки диалогов в боте, а теперь давайте разберемся, как же все это работает и как использовать сервис с максимальной пользой 💪

Выбор сценария

Когда бот получает сообщение от пользователя, он пытается найти вопрос или цепочку, условие которых будет срабатывать. Как только такое условие найдено, бот "зайдет" внутрь цепочки (или вопроса) и начнет выполнять заданные вами шаги 😎

Схематично этот процесс можно изобразить так:

Прохождение сценария ботом

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

Блок — это элемент логики нашего бота. В зависимости от сообщений пользователя или других условий мы можем заставлять бота переходить на тот или иной блок. Блок состоит из групп шагов.

Например, у цепочки (Цепочка диалога) есть стартовый блок, с которого она начинается, а у вопроса (Простые команды) есть только один блок.

Каждый блок состоит из групп шагов.

Группа шагов — это последовательность шагов, которая может иметь свое собственное условие в рамках блока. Если условие группы шагов выполняется, то бот будет проходить по шагам группы. Если условие не выполняется — группа пропускается.

Бот последовательно проходит все группы шагов. Каждая группа состоит из шагов, которые задают поведение бота. Например, если нужно, чтобы бот отправил сообщение, надо использовать соответствующий шаг "отправить сообщение".

Шаг - действие бота, которое он выполняет в процессе работы. Например, "отправить сообщение", "ждать сообщения", "установить переменную".

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

Каждая группа шагов может содержать условия. Вы можете задавать разные условия для перехода на другие блоки.

Для создания блок-схем удобно использовать сервис https://draw.io.

Пример схемы работы бота

Завершение сценария

Если бот дошел до последнего шага и больше шагов нет, он остановится и выйдет из сценария (вопроса или цепочки). При следующем сообщении пользователя бот заново начнет искать подходящий сценарий и весь процесс повторится 🙂

Понимание концепции блоков, групп шагов, шагов и переходов между ними позволит использовать сервис максимально эффективно и просто.