Спросить ИИ
Русский RU
Перейти в Watbot

Как бот выбирает ответ

Бот не ищет ответ по всей схеме. Он помнит, на каком блоке остановился каждый человек, и разбирает новое сообщение по выходам именно этого блока. Если понимать этот порядок, легко объяснить, почему бот ответил так, а не иначе.

Текущий блок

У каждого контакта есть текущий блок — тот, на котором бот остановился и ждёт ответа. Обычно это сообщение с кнопками или вопрос.

Блоки, которые ответа не ждут, бот проходит сразу по выходу «Продолжить»: добавил тег, записал переменную, проверил условие — и пошёл дальше, пока не дойдёт до блока, где нужен ответ человека.

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

Совет

Текущий блок видно при проверке: в окне «Проверка бота» включите «Переменные и теги» — в строке «Блок» показан блок, на котором вы сейчас стоите. Подробнее — на странице Проверка бота.

С чего начинается разговор

Бот начинает сценарий с начала — со стартового блока, — когда:

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

Запустить бота заново человек может сам:

  • в Telegram — командой /start;
  • в MAX — командой /start;
  • во ВКонтакте — сообщением 000;
  • в Viber — сообщением 000.

Какой сценарий откроется при запуске, бот решает так:

  1. Если у контакта есть тег, для которого назначен альтернативный главный сценарий, — этот сценарий.
  2. Иначе — сценарий, назначенный главным.
  3. Если главным ничего не назначали — «Главный сценарий».

Как назначить главный и альтернативный сценарий — на странице Сценарии.

Как бот разбирает сообщение

Человек стоит на блоке с кнопками и что-то отвечает. Бот проверяет по порядку:

  1. Служебные слова. «стоп», «stop» и «/stop» отписывают человека от рассылок — см. ниже.
  2. Нажатая кнопка. Человек нажал кнопку блока — бот идёт по её выходу.
  3. Номер кнопки. Если в блоке включён «Ответ цифрами» и человек прислал число, бот берёт кнопку с таким номером.
  4. Текст кнопки. Человек написал название кнопки сам — бот идёт по её выходу. Текст должен совпасть с названием целиком; большие и маленькие буквы не различаются.
  5. «Любая другая фраза». Ничего не совпало, или человек прислал файл вместо текста, — бот идёт по выходу «Любая другая фраза».
  6. Повтор вопроса. Если выход «Любая другая фраза» ни с чем не соединён, бот отправит сообщение блока ещё раз. Человек остаётся на том же блоке.

Повтор управляется переключателем «Повторный вопрос» в настройках блока: если его выключить, на непонятный ответ бот промолчит. Переключатели «Ответ цифрами» и «Повторный вопрос» и проверка ответа («Валидация») описаны на странице Сообщения и кнопки.

Выходы блока: кнопки «Доставка» и «Каталог», «Любая другая фраза» и «Продолжить»Выходы блока: кнопки «Доставка» и «Каталог», «Любая другая фраза» и «Продолжить»

Пример

Цветочный магазин «Ромашка». Человек стоит на блоке с вопросом «Что вас интересует?» и кнопками «Каталог» и «Доставка».

Человек отвечает Что делает бот
Нажимает «Доставка» Идёт по выходу «Доставка»
Пишет «доставка» Идёт по выходу «Доставка»: текст совпал с названием кнопки
Пишет «2» Идёт по выходу «Доставка»: это вторая кнопка, а «Ответ цифрами» включён
Пишет «Сколько стоит доставка?» Идёт по выходу «Любая другая фраза». Если он не соединён — повторяет вопрос
Пишет «стоп» Отписывает человека от рассылок
Окно «Проверка бота»: на «Сколько стоит доставка?» бот повторил вопрос, на «2» — ответил про доставкуОкно «Проверка бота»: на «Сколько стоит доставка?» бот повторил вопрос, на «2» — ответил про доставку

Команды, которые работают везде

Чтобы фразы вроде «Меню» или «Оператор» работали из любого места бота, их не нужно добавлять в каждый блок. Для этого есть блок «Глобальное меню»: его пункты бот проверяет, когда ответ не совпал ни с одной кнопкой текущего блока — до перехода по «Любой другой фразе».

У глобального меню есть и свой выход «Любая другая фраза». Он срабатывает, когда такой же выход текущего блока ни с чем не соединён, — получается общий ответ «я вас не понял» для всего бота.

Слова «стоп»

Слова «стоп», «stop» и «/stop» бот проверяет раньше кнопок блока. Если человек напишет «стоп», бот отпишет его от рассылок, даже когда в блоке есть кнопка с таким названием. Что происходит дальше и как человеку подписаться снова — на странице Получатели и фильтры.

Внимание

Не называйте кнопки словами «Стоп» и «Stop»: если человек наберёт название такой кнопки текстом, бот примет его за отписку от рассылок.

Когда бот не отвечает

  • У владельца проекта нет подписки Pro. Бот не ведёт людей по сценарию. Подробнее — на странице Что доступно без Pro.
  • Бот выключен. Проверьте переключатель «Включить бота»: «Настройки» → «Основное».
  • Бот используется только для переписки. В разделе «Настройки» → «Дополнительно» включён переключатель «Отключить бота, использовать сервис только для переписки с клиентами».
  • Бот остановлен для этого человека. Оператор взял диалог на себя или контакт заблокирован — см. раздел Сообщения.
  • Ответ не подошёл ни к одному выходу. «Любая другая фраза» ни с чем не соединена, а «Повторный вопрос» в блоке выключен.

Когда бот выключен, работает только для переписки или остановлен для человека, сообщения этого человека всё равно сохраняются в переписке — оператор может ответить на них сам.

Если бот отвечает не тем, чем вы ожидали, откройте блок и посмотрите «Лог выполнения»: в нём видно, какое сообщение пришло и чем закончилось выполнение блока.