7 Commits

Author SHA1 Message Date
deadzilla
311cfa7513 fix: добавить WEATHER_CITY в docker-compose, убрать conftest.py из Docker
- WEATHER_CITY и WEATHER_CACHE_TTL добавлены в docker-compose.yml
  с дефолтными значениями
- conftest.py удалён из Dockerfile — тестовый файл не нужен в production

Файлы: Dockerfile, docker-compose.yml
2026-07-22 22:10:59 +05:00
deadzilla
4b20645430 fix: align docker-compose env vars with Yandex Weather API
- Add YANDEX_WEATHER_API_KEY (required by bot.py and pogoda.py)
- Rename WEATHER_API_RATE/BURST to YANDEX_WEATHER_API_RATE/BURST
  (matching os.getenv keys in utils/rate_limiter.py)
- Remove unused OPEN_METEO_API_RATE/BURST
- Add WEATHER_CACHE_TTL to .env.example
2026-07-21 09:44:03 +05:00
deadzilla
a8e9be09c7 Добавлен tzdata и установлен часовой пояс Asia/Yekaterinburg для корректной работы планировщика 2026-07-09 00:14:49 +05:00
deadzilla
8ee5ed669f Исправление планировщика morning: tasks.loop → asyncio.sleep
- Scheduler больше не опрашивает каждую секунду (tasks.loop мог пропустить
  момент срабатывания из-за неточности тайминга). Теперь спит ровно до
  целевого времени через asyncio.sleep, затем запускает morning и повторяет.
- Добавлено логирование ожидания и срабатывания расписания.
- Перенес инициализацию планировщика из on_ready в on_guild_available —
  гарантирует, что кэш гильдии загружен до запуска Scheduler.
- Обновлены тесты под новый Scheduler (asyncio.create_task вместо tasks.loop).
- README.md: исправлены пути admin.py → console_commands/admin.py для docker exec.
- docker-compose.yml: добавлены переменные LOG_LEVEL и rate-limit конфиги.
- console_commands/__init__.py: переименованы help → console_help,
  reload → reload_cogs (избежал конфликта с built-in и уточнил имена).
2026-06-16 22:10:40 +05:00
deadzilla
5c438b4c48 feat: часовой пояс UTC+5 в контейнере
Добавлена переменная TZ=UTC5 в docker-compose.yml.
Перезапуск контейнера: docker compose up -d
2026-06-12 17:41:05 +05:00
deadzilla
071e313015 refactor: инкапсулировать глобальные переменные в BotRunner + валидация конфига
- bot.py: создан класс BotRunner (bot, stop_event, bot_ready, scheduler)
- bot.py: добавлена _validate_config() — проверка MORNING_TIME (ЧЧ:ММ) и MORNING_CHANNEL_ID (int)
- bot.py: убраны все глобальные переменные
- Dockerfile: healthcheck через ps aux (проверка процесса python bot.py)
- docker-compose.yml: добавлен MORNING_CHANNEL_ID
- ISSUES.md: закрыто 3 задачи (валидация конфига, инкапсуляция, multi-stage)
- tests/test_bot.py: адаптирован тест под BotRunner
2026-06-09 23:09:02 +05:00
deadzilla
054422b764 feat: добавить Docker-файлы для деплоя бота 2026-05-29 22:29:32 +05:00