Приём заявки, база и уведомления

Бот здоровается — теперь научим его делать главное: принимать заявку по шагам, сохранять её и сразу сообщать администратору. Это и есть та ценность, за которую платит клиент.

🎯 После урока сможешь: научить бота принимать заявку по шагам, сохранять её и уведомлять администратора.

Диалог по шагам: зачем нужны состояния

Заявку удобно собирать по шагам: сначала имя, потом контакт, потом какой курс интересует. Чтобы бот помнил, на каком шаге сейчас пользователь, используют состояния (по-английски FSM — «машина состояний»). Проще говоря, бот держит в голове: «этот человек сейчас вводит имя».

Заявка по шагам: /start → ждём имя → ждём контакт → ждём курс → ГОТОВО, затем бот сохраняет заявку в базу и уведомляет администратора.

Всё это Claude Code добавит по твоему заданию: «сделай приём заявки по шагам — имя, контакт, курс — через состояния aiogram; в конце сохрани заявку в SQLite и отправь администратору уведомление».

Чат в Telegram: бот по шагам спрашивает имя, контакт и курс, затем подтверждает приём заявки.

Где хранятся заявки

Каждая заявка попадает в базу SQLite — это просто файл рядом с ботом, устроенный как таблица: строка на заявку, колонки — имя, контакт, курс, дата. Данные не теряются даже после перезапуска бота.

Уведомление админу и /stats

Как только заявка собрана, бот шлёт сообщение администратору — тому, чей Telegram-id указан в настройках. А по команде /stats админ видит, сколько заявок пришло. Это закрывает боль «заявки теряются».

Telegram администратора: пришло уведомление о новой заявке с именем, контактом и курсом; ниже ответ команды /stats с числом заявок.

Контрольный вопрос. Зачем боту состояния (FSM) при приёме заявки?

АЧтобы спрятать токен бота от посторонних глаз
БЧтобы бот отвечал быстрее и не тормозил на длинных диалогах
ВЧтобы вести диалог по шагам — помнить, что человек вводит сейчас

Подсказка: Состояние — это память бота о том, на каком шаге диалога находится человек.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Как называется лёгкая база (файл рядом с ботом), в которой бот хранит заявки? Впиши название.

Подсказка: Вернись к уроку фундамента про хранение данных: там Claude Code подключал базу без установки отдельного сервера — её имя ты видел прямо в коде.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Что произойдёт с заявками после перезапуска бота, если они сохранены в SQLite?

АПревратятся в уведомления и придут админу заново
БУдалятся все до одной — память бота очистится
ВОстанутся на месте — база переживает перезапуск

Подсказка: База — это файл на диске, а не память, которая очищается при перезапуске.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Ты делаешь бота для салона красоты: заявка должна собрать имя клиента, потом дату записи, потом услугу — именно в этом порядке. По аналогии со схемой урока (/start → ждём имя → ждём контакт → ждём курс → ГОТОВО), какую цепочку состояний нужно попросить сделать Claude Code для бота салона?

А/start → ждём услугу → ждём имя → ждём дату → ГОТОВО
Б/start → ждём контакт → ждём курс → ждём имя → ГОТОВО
В/start → ждём имя → ждём дату → ждём услугу → ГОТОВО

Подсказка: Принцип тот же, что в уроке, просто у салона свои поля. Смотри на порядок, который назвали в условии.

Онлайн-проверка ответа появится позже

Что дальше

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

← Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева