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
+33
View File
@@ -0,0 +1,33 @@
import asyncio
from aiogram import Bot, Dispatcher
from app.config import BOT_TOKEN
from app.handlers.start import router as start_router
from app.handlers.booking import router as booking_router
from app.handlers.profile import router as profile_router
from app.handlers.mybookings import router as mybooking_router
from app.handlers.about import router as about_router
from app.handlers.contacts import router as contacts_router
async def main():
bot = Bot(token=BOT_TOKEN)
dp = Dispatcher()
# подключаем все роутеры
dp.include_router(start_router)
dp.include_router(booking_router)
dp.include_router(profile_router)
dp.include_router(mybooking_router)
dp.include_router(about_router)
dp.include_router(contacts_router)
print("Bot started...")
await dp.start_polling(bot)
if __name__ == "__main__":
asyncio.run(main())