Commit Graph
40 Commits
Author SHA1 Message Date
grigorij d757352b8a Добавлена ветка cosmetics 2026-07-31 13:07:25 +04:00
grigorij f289631645 Добавлена ветка prod_prep 2026-07-31 12:58:23 +04:00
devproject-bot bf26370da9 docs: remove admin password from README 2026-07-06 23:11:49 +04:00
devproject-bot 3c1614cf23 docs: add README with project overview, setup and configuration 2026-07-06 23:08:44 +04:00
gregoi4957 7d0cb2b443 Merge pull request 'feat/devproject-deploy' (#1) from feat/devproject-deploy into master
Reviewed-on: http://10.100.100.22:3000/gregoi4957/spa-telegram-bot/pulls/1
2026-06-18 17:12:15 +04:00
devproject 39486a4dfe feat: improve main menu layout - 2-column grid with placeholder text 2026-06-15 18:48:52 +04:00
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
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
grigorij 1196a8a795 init 2026-06-10 22:32:26 +04:00