3.1 KiB
3.1 KiB
ISSUES — Задачи и баг-трекер
Баги
on_command_error: проверкаctx.interactionможет падать — при текстовых командах (command_prefix)ctx.interactionможет бытьNonecommands/help.py: список команд хардкодится вручную — при добавлении новой команды!hpпокажет устаревший списокconsole_commands/pogoda.py: хардкодит URLwttr.in, дублируя логику изutils/pogoda.pyutils/pogoda.py+utils/cat.py: нет отдельного модуляutils/__init__.pyс публичным API — импорты разбросаны
Задачи к реализации
Высокий приоритет
- Заменить все
print()наlogging— вutils/pogoda.py,utils/morning_runner.py,console_commands/,bot.py - Автоматическая генерация
!hp— собирать список команд изbot.commandsвместо хардкода - Убрать дублирование
commands/иconsole_commands/— вынести общую логику вutils/, оставить тонкие обёртки - Валидация конфигурации — проверить формат
MORNING_TIME(ЧЧ:ММ) и наличиеMORNING_CHANNEL_IDпри запуске
Средний приоритет
- Инкапсулировать глобальные переменные —
stop_event,bot_ready,schedulerзавернуть в классBotRunner - Добавить rate-limiting для API-вызовов (TheCatAPI, wttr.in, Habr RSS)
- Настроить логирование — уровни, формат, вывод в файл/консоль
- Добавить тесты для
console_commands/— есть толькоtest_help_console.py, нужныtest_pogoda_console.py,test_news_console.py,test_morning_console.py - Проверка наличия
.env— добавить явную проверку с информативным сообщением
Низкий приоритет
- Улучшить Dockerfile — multi-stage сборка, healthcheck
- Добавить pre-commit хуки — lint (flake8/ruff), форматирование (black)
- Добавить type hints повсеместно — не все функции имеют аннотации
- Интеграционные тесты — сейчас только unit-тесты с моками
Замечания
README.mdссылается наAGENTS.mdкак основной документ проекта, но AGENTS.md — инструкции для AI-ассистента- В тестовых файлах используется
asyncio.run()внутри синхронных тестов — может конфликтовать с event loop