14 Commits
Author SHA1 Message Date
prog1764 896c26bd57 fix: закрыть IDOR в бронях, пароль админа и обработку callback_data (PRJ-3)
- IDOR: отмена/редактирование брони только владельцем (проверка user_id)
- пароль админа: убран дефолт admin123, обязателен из env; сравнение через hmac.compare_digest; TTL сессии 1ч
- callback_data: безопасный парсинг int + .get() вместо прямого индексирования (KeyError/ValueError)
2026-08-04 19:33:08 +04:00
devproject b6d5b59132 Выбор нескольких услуг в одну запись: мультивыбор на шаге услуг, кнопка Готово 2026-06-14 21:45:39 +04:00
devproject dfa41c9a4e Добавлена кнопка Назад на всех этапах записи (услуга→мастер→дата→время→подтверждение) 2026-06-14 21:03:51 +04:00
devproject eb9b16784f Срочные улучшения: проверка занятости слота, автоочистка cancelled записей 2026-06-14 20:59:46 +04:00
devproject 4d031924ae Исправление создания брони: await перед create_booking/update_booking, фикс cancel_booking, логирование в save_bookings 2026-06-14 20:55:23 +04:00
DevProject Agent 1d5b52f7b2 ♻️ Меню: убран /start, добавлен обработчик услуг
- menu.py: убрана кнопка /start из главного меню
- services.py: добавлен хендлер на кнопку "📋 Услуги"
- booking.py: добавлен лог при подтверждении бронирования
2026-06-14 20:01:21 +04:00
DevProject Agent d7ee82e3a5 😊 Emoji в услуги, мастеров + fix await + соответствие кнопок
- config.py: добавлены emoji к услугам (💪 Массаж, 🎈 SPA, 💄 Косметология)
- config.py: добавлены emoji к мастерам (👸 Анна, 💃 Мария, 🧑‍⚖️ Алексей)
- booking.py: добавлен await перед get_busy_times (исправление ошибки)
- mybookings.py: текст кнопки "📖 Мои записи" → "📄 Мои записи"
- about.py: текст "ℹ️ О компании" → "ℹ️ О нас"
2026-06-14 19:56:41 +04:00
DevProject Agent a6a1e0d8a9 📝 Логирование + graceful shutdown
- Добавлен app/logger.py — loguru с ротацией (консоль, файл, ошибки)
- main.py: логи старта/стопа, graceful shutdown (SIGTERM/SIGINT/stop_signal)
- Все хендлеры: логирование ключевых действий пользователя
- Логи сохраняются в logs/bot_YYYY-MM-DD.log, ротация 30 дней
- Ошибки отдельно в logs/errors_*
2026-06-14 19:43:46 +04:00
DevProject Agent cff1b2bc91 🧹 Конфиг: услуги, мастера и время вынесены в config.py
- SERVICES, MASTERS, TIME_SLOTS в config.py
- Клавиатуры services.py, masters.py, time_slots.py берут данные из config
- booking.py импортирует services/masters из config вместо хардкода
- time_slots отображает занятые слоты как , свободные как 
2026-06-14 19:23:52 +04:00
DevProject Agent 36cb227eb9 🛡 Защита от KeyError: data.get() вместо прямых ключей
- Все обращения data["key"] заменены на data.get("key", "?")
- При незаполненных данных FSM бот покажет "?" вместо падения с ошибкой
2026-06-14 19:22:43 +04:00
grigorij 8b20de1da5 Добавлена система управления записями и улучшен процесс бронирования
- Реализован выбор мастера
- Добавлен выбор даты и времени
- Добавлено подтверждение записи
- Реализован раздел «Мои записи»
- Добавлена отмена записи
- Добавлена возможность редактирования записи
- Реализована проверка занятых временных слотов
- Улучшена логика FSM и пользовательский сценарий бронирования
2026-06-13 20:28:32 +04:00
grigorij 8d95ad3931 -добавил выбор мастера;
-расширил FSM новым состоянием master;
-добавил новую клавиатуру masters.py;
-изменил сценарий записи;
-доработал окно подтверждения записи;
-расширил структуру хранения бронирований.
2026-06-13 20:01:26 +04:00
grigorij 9282c1bbfb Добавлен полноценный сценарий записи
- выбор услуги через inline-кнопки
- выбор даты через календарь
- выбор времени через кнопки
- подтверждение записи
- отмена записи
- редактирование записи
- сохранение времени записи
- исправлена работа FSM
- исправлены callback-обработчики
- улучшен интерфейс бота
2026-06-13 19:51:11 +04:00
grigorij 61d8eb48a9 feat: реализован MVP Telegram-бота для записи
* настроена структура проекта
* подключены handlers и routers
* реализовано главное меню
* добавлены разделы: профиль, контакты, о компании, мои записи
* реализована FSM-машина состояний для записи
* добавлен сервисный слой booking_service
* реализовано сохранение записей в памяти
* добавлено подтверждение записи
* реализована отмена записи
* исправлены конфликты FSM и кнопок меню
* добавлена отдельная клавиатура во время записи
* выполнен рефакторинг импортов и структуры проекта
* улучшен пользовательский сценарий записи
2026-06-11 13:50:24 +04:00