devproject
0791a096a8
Исправление админки: сессия по паролю (можно отменять записи после /admin <пароль>)
2026-06-14 22:05:38 +04:00
devproject
c1f06d299e
Безопасная админка: /admin <пароль> из .env, user_id проверка, молчаливый отказ
2026-06-14 21:56:31 +04:00
devproject
b6d5b59132
Выбор нескольких услуг в одну запись: мультивыбор на шаге услуг, кнопка Готово
2026-06-14 21:45:39 +04:00
devproject
ca05bbfb01
Исправление admin: booking.get(user_name) or вместо get(, default) (пустая строка не считалась фолбэком)
2026-06-14 21:36:41 +04:00
devproject
0a5ca6ba26
Добавлен admin.py хендлер (забыт в предыдущем коммите)
2026-06-14 21:20:58 +04:00
devproject
fb6aa7cf4a
Админ-панель: команда /admin, user_name при создании записи, отмена брони админом
2026-06-14 21:20:37 +04:00
devproject
4f6a27ef85
Исправление: кнопка Назад добавлена в выбор времени (time_slots.py)
2026-06-14 21:09:08 +04:00
devproject
bc06baf628
Исправление: кнопка Назад добавлена в выбор даты (calendar.py)
2026-06-14 21:06:46 +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
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
DevProject Agent
fc66bd1775
Слияние ветки dev: актуальный код бота с inline-клавиатурами и PostgreSQL
2026-06-14 19:07:41 +04:00
DevProject Agent
f83ef5719a
Добавлен .gitignore, удалён .env из репозитория для безопасности
2026-06-14 18:55:56 +04:00