deadzilla
4f48471564
docs: обновлён ISSUES.md (актуализированы задачи, добавлены 3 новых)
2026-06-12 23:03:11 +05:00
deadzilla
8e209bca00
chore: удалены выполненные задачи из ISSUES.md
2026-06-12 22:49:18 +05:00
deadzilla
29f2836cea
feat: добавлено логирование во все модули
...
- utils/news.py: добавлен logger, логирование ошибок RSS
- utils/cat.py: добавлен logger, логирование ошибок TheCatAPI
- utils/pogoda.py: улучшены логи fallback/warning при ошибках API
- utils/rate_limiter.py: debug-логи при ожидании токенов
- commands/pg.py, news.py, cat.py, morning.py, status.py, stats.py: logger + логи ошибок и успешного выполнения команд
- console_commands/pogoda.py, news.py, cat.py, morning.py, status.py, stats.py: logger + логи выполнения
- bot.py: логи запуска/остановки, проверки конфигурации, маршрутизации консольных команд, f-строки -> %s формат
- ISSUES.md: снят флаг задачи по логированию
- все 243 теста пройдены
2026-06-12 18:58:33 +05:00
deadzilla
c37baafacc
feat: добавлены консольные команды logs, reload, trigger morning
...
- console_commands/logs.py — чтение последних строк лога (tail -20)
- console_commands/reload.py — горячая перезагрузка всех cogs
- console_commands/trigger_morning.py — ручной запуск morning-дайджеста
- logs доступна через admin.py (docker exec) и интерактивный терминал
- reload и trigger morning доступны через интерактивный терминал
- сохранён bot._scheduler для доступа к планировщику
- обновлены __init__.py, admin.py, README.md, ISSUES.md
- добавлены тесты: test_console_logs.py (4), test_console_reload.py (2), test_console_trigger_morning.py (3)
- итого 243 теста
2026-06-12 18:03:47 +05:00
deadzilla
91f34625a8
feat: команды !status и !stats
...
Добавлены Discord-команды:
- !status — пинг к gateway, uptime, статус (embed)
- !stats — серверы, каналы, пользователи (embed)
Добавлены консольные команды:
- status — статус бота в терминале
- stats — статистика серверов в терминале
Тесты:
- test_commands_status.py (6 тестов)
- test_commands_stats.py (4 теста)
- всего: 233 теста
Обновления:
- README.md — новые команды в таблицах и архитектуре
- ISSUES.md — высокий приоритет закрыт
- admin.py — hint на !status и !stats
2026-06-12 16:19:21 +05:00
deadzilla
ec38dfc725
chore: добавить задачи по консольным командам в ISSUES.md
2026-06-11 23:27:03 +05:00
deadzilla
26666550ac
feat: добавить rate-limiting для всех внешних API-вызовов
2026-06-11 22:42:23 +05:00
deadzilla
c6bde31539
chore: убрать закрытые задачи из ISSUES.md
2026-06-09 23:17:44 +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
47e4b60111
docs: синхронизировать ISSUES.md, обновить README.md, очистить AGENTS.md
...
- ISSUES.md: закрыто 7 задач с ссылками на коммиты (on_command_error, !hp харкод, харкод URL, utils/__init__.py, print→logging, автогенерация !hp, дублирование команд, healthcheck)
- AGENTS.md: удалена пустая секция 'Структура проекта' (есть в README.md)
- README.md: обновлена архитектура (добавлены utils/__init__.py, utils/morning_runner.py, console_commands/help.py, Docker-файлы), исправлено кол-во тестов (262→204), добавлена секция 'Запуск в Docker', убрана ссылка на AGENTS.md как основной документ, добавлена консольная команда help, обновлены таблицы утилит
2026-06-09 21:37:07 +05:00
deadzilla
978340f0dd
docs: добавил ISSUES.md — задачи и баг-трекер проекта
2026-06-09 18:09:54 +05:00
deadzilla
030c6ed74b
Исправлена команда !nw, обновлены README и убран ISSUES.md
2026-06-01 23:09:44 +05:00
deadzilla
6ae8442b57
Убрать эмодзи из console_commands/cat.py и почистить ISSUES.md
2026-05-29 09:26:20 +05:00
deadzilla
680a3c822a
docs: обновить AGENTS.md и очистить ISSUES.md с новым TODO-списком
2026-05-26 21:48:19 +05:00
deadzilla
25a8e77fb0
fix: использовать requests.Session для переиспользования соединений (ISSUE #8 )
2026-05-26 18:17:17 +05:00
deadzilla
4656495417
fix: улучшить on_command_error — логирование деталей и нейтральное сообщение пользователю
2026-05-26 18:08:46 +05:00
deadzilla
55a07e2a3c
fix: вынести импорт datetime на уровень модуля (ISSUE #4 )
2026-05-26 17:55:28 +05:00
deadzilla
4a40f705d4
fix: resolve issue #3 (deduplication) and fix coroutine handling
...
- Create utils/news.py with shared RSS parsing and formatting logic
- Refactor commands/news.py and console_commands/news.py to use utils/news.py
- Fix bot.py to handle async console commands (news, pogoda)
- Fix utils/pogoda.py to fall back to Open-Meteo on requests.RequestException
- Mark issue #3 as resolved in ISSUES.md
2026-05-26 13:58:35 +05:00
deadzilla
e1a0f6d2b6
refactor: вынести логику погоды в utils/pogoda.py (проблема 3)
...
- Создать utils/pogoda.py с общими функциями:
- fetch_weather, fetch_open_meteo, wmo_to_russian, translate_weather, pressure_to_mmhg
- Обновить commands/pogoda.py: убрать дубликаты, импортировать из utils
- Обновить console_commands/pogoda.py: убрать дубликаты, импортировать из utils
- Сделать console_commands/pogoda.py async (требует fetch_weather)
- Обновить AGENTS.md и ISSUES.md (проблема 7 решена)
2026-05-26 12:32:15 +05:00
deadzilla
bf166735a6
fix: исправить блокировку event loop и добавить retry задержку
...
- Добавить экспоненциальную задержку между попытками retry (1с, 2с, 4с) в pogoda.py
- Заменить time.sleep на await asyncio.sleep для неблокирующих ожиданий
- Обернуть requests.get в asyncio.to_thread для предотвращения блокировки event loop (news.py, cat.py, pogoda.py)
- Добавить правило AGENTS.md: не использовать эмодзи
- Добавить ISSUES.md с фиксацией проблем проекта
2026-05-26 10:24:26 +05:00