🤖 Бот должен быть готов к хаосу. Клиент редко пишет «по сценарию»: чаще это «а если вторник не подойдёт, можно среду?», «а у меня два вопроса сразу», «а можно без кнопки, просто текстом?». Если бот на это не рассчитан, диалог обрывается — и клиент уходит.
В одном из проектов для специалиста по консультациям я сразу закладывал «плохие» ветки: когда пользователь меняет тему, просит перенести, пишет сленгом или вообще не выбирает кнопки.
Что делал:
- Fallback на каждом шаге. Если бот не распознал действие — не молчит, а предлагает варианты: «Выберите дату кнопками или напишите “другое”».
- Перехват смены контекста. Если в середине записи человек пишет «а сколько стоит?», бот не падает, а переключается в ветку FAQ и потом возвращает к записи.
- Защита от «двойных запросов». Если пользователь нажал две кнопки подряд, система берёт последнее действие и явно фиксирует состояние.
Мини‑пример логики (псевдокод):
if state == "choose_date":
if user_clicks_button:
save date
state = "choose_time"
send "Выберите время:"
elif user_text_matches("перенести|другое|не подходит"):
state = "reschedule_flow"
send "Хорошо, давайте подберём другой вариант. Напишите удобную дату или нажмите «Выбрать заново»."
else:
send fallback_message
# Остаёмся в том же состоянии, чтобы не потерять прогрессБоль клиента: «Люди пишут как хотят, а бот теряется — и я снова всё делаю вручную».
Эффект: бот держится даже в хаосе, конверсия в запись растёт, нагрузка на специалиста падает.
А какие «неожиданные» фразы чаще всего ломают ваших ботов? 👇
#разработкаботов #MAX #логика #fallback