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

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

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

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

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

  Заявка по шагам (состояния):

   /start ─▶ [ ждём имя ] ─▶ [ ждём контакт ] ─▶ [ ждём курс ] ─▶ ГОТОВО
                                                                   │
                                                    сохранить в базу + уведомить админа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что дальше

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

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

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