feat: реализован MVP Telegram-бота для записи

* настроена структура проекта
* подключены handlers и routers
* реализовано главное меню
* добавлены разделы: профиль, контакты, о компании, мои записи
* реализована FSM-машина состояний для записи
* добавлен сервисный слой booking_service
* реализовано сохранение записей в памяти
* добавлено подтверждение записи
* реализована отмена записи
* исправлены конфликты FSM и кнопок меню
* добавлена отдельная клавиатура во время записи
* выполнен рефакторинг импортов и структуры проекта
* улучшен пользовательский сценарий записи
This commit is contained in:
grigorij
2026-06-11 13:50:24 +04:00
parent 2c6f82bfb5
commit 61d8eb48a9
13 changed files with 285 additions and 27 deletions
+28
View File
@@ -0,0 +1,28 @@
from aiogram import Router, F
from aiogram.types import Message
from aiogram.fsm.context import FSMContext
from app.db.memory import bookings
router = Router()
@router.message(F.text == "📖 Мои записи")
async def my_bookings(message: Message, state: FSMContext):
await state.clear()
user_id = message.from_user.id
user_bookings = [
b for b in bookings if b["user_id"] == user_id
]
if not user_bookings:
await message.answer("У вас нет записей")
return
text = "📖 Ваши записи:\n\n"
for b in user_bookings:
text += f"💆 {b['service']} — 📅 {b['date']}\n"
await message.answer(text)