- 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 и уточнил имена).
21 lines
703 B
YAML
21 lines
703 B
YAML
services:
|
|
discord-bot:
|
|
build: .
|
|
container_name: discord-bot
|
|
restart: unless-stopped
|
|
environment:
|
|
- DISCORD_TOKEN=${DISCORD_TOKEN}
|
|
- MORNING_TIME=${MORNING_TIME:-07:00}
|
|
- MORNING_CHANNEL_ID=${MORNING_CHANNEL_ID}
|
|
- LOG_LEVEL=${LOG_LEVEL:-INFO}
|
|
- CAT_API_RATE=${CAT_API_RATE:-1}
|
|
- CAT_API_BURST=${CAT_API_BURST:-3}
|
|
- WEATHER_API_RATE=${WEATHER_API_RATE:-1}
|
|
- WEATHER_API_BURST=${WEATHER_API_BURST:-3}
|
|
- OPEN_METEO_API_RATE=${OPEN_METEO_API_RATE:-2}
|
|
- OPEN_METEO_API_BURST=${OPEN_METEO_API_BURST:-5}
|
|
- HABR_RSS_RATE=${HABR_RSS_RATE:-1}
|
|
- HABR_RSS_BURST=${HABR_RSS_BURST:-2}
|
|
- PYTHONUNBUFFERED=1
|
|
- TZ=UTC5
|