Commit Graph
23 Commits
Author SHA1 Message Date
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 4b531b83d1 Исправление бага в Мои записи: f-string синтаксис, try/except, конкатенация строк 2026-06-14 20:24: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 4db5ca696f 🐛 Исправление: await перед get_busy_times + возврат emoji
- booking.py: добавлен await перед get_busy_times (ошибка TypeError:
  coroutine is not iterable)
- menu.py: возвращены emoji вместо текстовых меток
- time_slots.py: возвращены emoji / вместо [X]/[V]
- Проблема была в том, что booking_service использует async def,
  а вызов в booking.py был без await
2026-06-14 19:49:12 +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 4c5f99856c ♻️ time_slots: emoji заменены на текстовые метки [X]/[V]
- Эмодзи нестабильно передаются через файловые каналы, заменены на ASCII
- menu.py: эмодзи заменены на [текст] для совместимости
2026-06-14 19:38:10 +04:00
DevProject Agent b29a033831 🐛 memory.py: исправлена опечатка /data -> /"data" 2026-06-14 19:28:44 +04:00
DevProject Agent fb329ab6e2 🐛 Исправление: битые utf-8 символы и кавычки в start.py и profile.py
- start.py: кавычки у ключа name (было {name: ...} вместо {"name": ...})
- start.py: эмодзи в f-строке без кавычек
- profile.py: эмодзи и текст с нормальной кодировкой
2026-06-14 19:27:30 +04:00
DevProject Agent 60e21871bc 🐛 Исправление: кавычки в TIME_SLOTS и MASTERS в config.py
- TIME_SLOTS как строки (были без кавычек -> SyntaxError)
- Добавлены комментарии на русском
2026-06-14 19:24:38 +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 8efd5d09d5 📦 Добавлены __init__.py во все пакеты
Для корректной работы импортов в Python и совместимости с IDE/линтерами
2026-06-14 19:22:49 +04:00
DevProject Agent 36cb227eb9 🛡 Защита от KeyError: data.get() вместо прямых ключей
- Все обращения data["key"] заменены на data.get("key", "?")
- При незаполненных данных FSM бот покажет "?" вместо падения с ошибкой
2026-06-14 19:22:43 +04:00
DevProject Agent 866a01d700 🔥 JSON-хранилище: данные в data/*.json вместо in-memory
- Переписан memory.py: теперь загружает/сохраняет users.json и bookings.json в data/
- booking_service.py: импорты через функции, а не переменные
- start.py, profile.py: используют get_user/set_user вместо прямого импорта users
- Добавлена папка data/ с .gitkeep
2026-06-14 19:22:27 +04:00
DevProject Agent da1487d99e Очистка: удалены pycache, .DS_Store, добавлен gitignore 2026-06-14 19:07:50 +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 34b2880a68 init 2026-06-13 19:34:57 +04:00
grigorij 61d8eb48a9 feat: реализован MVP Telegram-бота для записи
* настроена структура проекта
* подключены handlers и routers
* реализовано главное меню
* добавлены разделы: профиль, контакты, о компании, мои записи
* реализована FSM-машина состояний для записи
* добавлен сервисный слой booking_service
* реализовано сохранение записей в памяти
* добавлено подтверждение записи
* реализована отмена записи
* исправлены конфликты FSM и кнопок меню
* добавлена отдельная клавиатура во время записи
* выполнен рефакторинг импортов и структуры проекта
* улучшен пользовательский сценарий записи
2026-06-11 13:50:24 +04:00
grigorij 2c6f82bfb5 Добавлена базовая структура проекта Telegram-бота (handlers, config, memory) 2026-06-10 22:51:56 +04:00