Добавлены 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
39 lines
2.5 KiB
Markdown
39 lines
2.5 KiB
Markdown
# ISSUES — Задачи и баг-трекер
|
||
|
||
## Средний приоритет
|
||
|
||
- [x] **Добавить 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`** — добавить явную проверку с информативным сообщением
|
||
|
||
## Консольные команды
|
||
|
||
### Высокий приоритет
|
||
|
||
- [x] **`status`** — онлайн-статус бота, пинг к Discord gateway, uptime
|
||
- [x] **`stats`** — кол-во серверов, каналов, пользователей
|
||
|
||
### Средний приоритет
|
||
|
||
- [ ] **`reload`** — горячая перезагрузка cogs без остановки бота
|
||
- [ ] **`logs`** — последние строки лога (tail -20)
|
||
- [ ] **`trigger morning`** — ручной запуск morning-дайджеста в канал
|
||
|
||
### Низкий приоритет
|
||
|
||
- [ ] **`memory`** — текущее потребление памяти процесса
|
||
- [ ] **`health`** — проверка доступности внешних API (wttr.in, TheCatAPI, Habr)
|
||
- [ ] **`debug <on|off>`** — переключить verbose-режим бота
|
||
|
||
## Низкий приоритет
|
||
|
||
- [ ] **Добавить pre-commit хуки** — lint (flake8/ruff), форматирование (black)
|
||
- [ ] **Добавить type hints** повсеместно — не все функции имеют аннотации (отсутствуют в `utils/pogoda.py`, `utils/news.py`, присутствуют в `utils/cat.py`, `utils/morning_runner.py`)
|
||
- [ ] **Интеграционные тесты** — сейчас только unit-тесты с моками
|
||
|
||
## Замечания
|
||
|
||
- [ ] `README.md` ссылается на `AGENTS.md` как основной документ проекта, но AGENTS.md — инструкции для AI-ассистента
|
||
- [ ] В тестовых файлах используется `asyncio.run()` внутри синхронных тестов — может конфликтовать с event loop (подтверждено: 50+ вхождений в `test_fetch_cat.py`, `test_fetch_rss.py`, `test_fetch_weather.py`)
|