Актуализация README.md: убрал несуществующие !hp/help.py/test_help_discord, добавил test_integration, conftest, .gitignore, .pre-commit-config.yaml, обновил зависимости и счётчик тестов (154 → 161)
This commit is contained in:
parent
7cef202c8f
commit
f417a9abbc
16
README.md
16
README.md
@ -36,7 +36,6 @@ python bot.py
|
||||
|---------|----------|
|
||||
| `!pg` | Прогноз погоды для Магнитогорска |
|
||||
| `!nw` | Топ-5 статей и топ-5 новостей по AI с Habr |
|
||||
| `!hp` | Список всех команд бота с описанием (автогенерация из `bot.commands`) |
|
||||
| `!morning` | Погода + топ-5 статей + топ-5 новостей + котик (утренний дайджест) |
|
||||
| `!cat` | Случайный котик |
|
||||
| `!status` | Статус бота: пинг к Discord gateway, uptime |
|
||||
@ -52,7 +51,6 @@ commands/ # Discord команды (cogs)
|
||||
news.py # !nw — статьи + новости с Habr
|
||||
cat.py # !cat — случайный котик
|
||||
morning.py # !morning — утренний дайджест (обёртка над utils.morning_runner)
|
||||
help.py # !hp — список команд (автогенерация из bot.commands)
|
||||
status.py # !status — статус бота: пинг, uptime
|
||||
stats.py # !stats — серверы, каналы, пользователи
|
||||
utils/ # Утилиты (API-клиенты, конвертации)
|
||||
@ -72,15 +70,18 @@ tests/ # pytest-тесты
|
||||
test_commands_pg.py # Pg cog
|
||||
test_bot.py # инициализация бота
|
||||
test_morning_runner.py# тесты morning runner-а
|
||||
test_help_discord.py # команда !hp — проверка формата вывода и контента
|
||||
test_logger.py # setup_logging — уровни, обработчики, формат
|
||||
test_commands_status.py # команда !status — embed и uptime
|
||||
test_commands_stats.py # команда !stats — подсчёт серверов и каналов
|
||||
test_integration.py # интеграционные тесты (загрузка когов, поток команд)
|
||||
conftest.py # monkey-patch asyncio.iscoroutinefunction (Python 3.14+ / discord.py 2.7.1)
|
||||
ISSUES.md # Задачи и баг-трекер проекта
|
||||
pytest.ini # Конфигурация pytest (asyncio_mode = auto)
|
||||
Dockerfile # Сборка образа бота (Python 3.14-slim, healthcheck)
|
||||
docker-compose.yml # Запуск бота в Docker
|
||||
.dockerignore # Исключения для Docker-контекста
|
||||
.gitignore # Исключения для Git (venv, .env, логи, IDE)
|
||||
.pre-commit-config.yaml # pre-commit хуки (ruff lint + ruff-format)
|
||||
```
|
||||
|
||||
### Добавление Discord команды
|
||||
@ -107,12 +108,12 @@ python -m pytest tests/ -v
|
||||
| `test_commands_pg.py` | `Pg` cog, команда `!pg` | 13 |
|
||||
| `test_bot.py` | инициализация бота | 5 |
|
||||
| `test_morning_runner.py` | morning runner | 12 |
|
||||
| `test_help_discord.py` | команда `!hp` | 2 |
|
||||
| `test_logger.py` | `setup_logging` (уровни, обработчики, формат) | 9 |
|
||||
| `test_rate_limiter.py` | `RateLimiter` (токен-бакет) | 5 |
|
||||
| `test_commands_status.py` | команда `!status` (embed, uptime) | 6 |
|
||||
| `test_commands_stats.py` | команда `!stats` (серверы, каналы) | 5 |
|
||||
**Итого: 154 теста.**
|
||||
| `test_integration.py` | загрузка когов, поток команд (моки API) | 9 |
|
||||
**Итого: 161 тест.**
|
||||
|
||||
## Запуск в Docker
|
||||
|
||||
@ -133,6 +134,8 @@ DISCORD_TOKEN=ваш_токен docker-compose up
|
||||
- База: `python:3.14-slim`
|
||||
- Healthcheck: проверка каждые 30 сек (старт-период 60 сек)
|
||||
- Версия Python настраивается через `ARG PYTHON_VERSION`
|
||||
- Часовой пояс: `TZ=Asia/Yekaterinburg` (в docker-compose.yml)
|
||||
- Установлены `tzdata` и `procps` для healthcheck и корректных дат
|
||||
|
||||
## API и внешние сервисы
|
||||
|
||||
@ -214,13 +217,16 @@ DISCORD_TOKEN=ваш_токен docker-compose up
|
||||
discord.py>=2.3.2
|
||||
python-dotenv>=1.0.0
|
||||
requests>=2.31.0
|
||||
defusedxml>=0.7.0
|
||||
```
|
||||
|
||||
### Development (`requirements-dev.txt`)
|
||||
|
||||
```txt
|
||||
pre-commit>=3.5.0
|
||||
pytest>=7.4.0
|
||||
pytest-asyncio>=0.21.0
|
||||
ruff>=0.8.0
|
||||
```
|
||||
|
||||
## Безопасность
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user