4 Commits

Author SHA1 Message Date
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