docs(readme): reformat tables and reorg sections
Build and Push (main) / build (push) Successful in 2m33s
Build and Push (main) / build (push) Successful in 2m33s
This commit is contained in:
@@ -86,7 +86,7 @@ python main.py
|
|||||||
### Параметры производительности
|
### Параметры производительности
|
||||||
|
|
||||||
| Переменная | Описание | По умолчанию |
|
| Переменная | Описание | По умолчанию |
|
||||||
| ---------------- | ------------------------------------------- | ------------ |
|
| ---------------- | ---------------------------------------- | ------------ |
|
||||||
| `CHECK_INTERVAL` | Интервал проверки новых постов (секунды) | 10 |
|
| `CHECK_INTERVAL` | Интервал проверки новых постов (секунды) | 10 |
|
||||||
| `API_DELAY` | Задержка между API запросами (секунды) | 5 |
|
| `API_DELAY` | Задержка между API запросами (секунды) | 5 |
|
||||||
| `API_TIMEOUT` | Таймаут для API запросов (секунды) | 15 |
|
| `API_TIMEOUT` | Таймаут для API запросов (секунды) | 15 |
|
||||||
@@ -95,7 +95,7 @@ python main.py
|
|||||||
### Уведомления
|
### Уведомления
|
||||||
|
|
||||||
| Переменная | Описание | По умолчанию |
|
| Переменная | Описание | По умолчанию |
|
||||||
| ------------- | ---------------------------------------------- | ------------ |
|
| -------------- | ------------------------------------------ | ------------ |
|
||||||
| `BOT_TOKEN` | Токен бота для уведомлений (от @BotFather) | - |
|
| `BOT_TOKEN` | Токен бота для уведомлений (от @BotFather) | - |
|
||||||
| `ADMIN_ID` | Telegram ID администратора для уведомлений | - |
|
| `ADMIN_ID` | Telegram ID администратора для уведомлений | - |
|
||||||
| `NOTIFY_ADMIN` | Включить уведомления администратору | true |
|
| `NOTIFY_ADMIN` | Включить уведомления администратору | true |
|
||||||
@@ -103,7 +103,7 @@ python main.py
|
|||||||
### Автоматическое поднятие темы (Bump)
|
### Автоматическое поднятие темы (Bump)
|
||||||
|
|
||||||
| Переменная | Описание | По умолчанию |
|
| Переменная | Описание | По умолчанию |
|
||||||
| -------------------- | ---------------------------------------- | ------------ |
|
| --------------------- | ------------------------------------- | ------------ |
|
||||||
| `ENABLE_AUTO_BUMP` | Включить автоматическое поднятие темы | true |
|
| `ENABLE_AUTO_BUMP` | Включить автоматическое поднятие темы | true |
|
||||||
| `BUMP_CHECK_INTERVAL` | Интервал между поднятиями (секунды) | 3600 |
|
| `BUMP_CHECK_INTERVAL` | Интервал между поднятиями (секунды) | 3600 |
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ python main.py
|
|||||||
### Система капчи
|
### Система капчи
|
||||||
|
|
||||||
| Переменная | Описание | По умолчанию |
|
| Переменная | Описание | По умолчанию |
|
||||||
| --------------------- | ----------------------------------------------- | ------------ |
|
| ------------------------ | -------------------------------------------- | ------------ |
|
||||||
| `ENABLE_CAPTCHA` | Включить систему капчи | false |
|
| `ENABLE_CAPTCHA` | Включить систему капчи | false |
|
||||||
| `CAPTCHA_ANSWER` | Правильный ответ на капчу | - |
|
| `CAPTCHA_ANSWER` | Правильный ответ на капчу | - |
|
||||||
| `CAPTCHA_CHECK_INTERVAL` | Интервал проверки обновления капчи (секунды) | 1800 |
|
| `CAPTCHA_CHECK_INTERVAL` | Интервал проверки обновления капчи (секунды) | 1800 |
|
||||||
@@ -122,6 +122,7 @@ python main.py
|
|||||||
Текст капчи хранится в файле `storage/captcha.txt` и поддерживает BBCode форматирование.
|
Текст капчи хранится в файле `storage/captcha.txt` и поддерживает BBCode форматирование.
|
||||||
|
|
||||||
**Пример `storage/captcha.txt`:**
|
**Пример `storage/captcha.txt`:**
|
||||||
|
|
||||||
```
|
```
|
||||||
[CENTER][B]Напишите ответ:[/B]
|
[CENTER][B]Напишите ответ:[/B]
|
||||||
сколько будет 20 + 20? [I][COLOR=rgb(80, 80, 78)](Капча меняется раз в месяц)[/COLOR][/I][/CENTER]
|
сколько будет 20 + 20? [I][COLOR=rgb(80, 80, 78)](Капча меняется раз в месяц)[/COLOR][/I][/CENTER]
|
||||||
@@ -132,7 +133,7 @@ python main.py
|
|||||||
Бот поддерживает использование прокси отдельно для Telegram и Lolz API.
|
Бот поддерживает использование прокси отдельно для Telegram и Lolz API.
|
||||||
|
|
||||||
| Переменная | Описание | По умолчанию |
|
| Переменная | Описание | По умолчанию |
|
||||||
| ---------------- | ------------------------------------------- | ------------ |
|
| ---------------- | -------------------------------- | ------------ |
|
||||||
| `PROXY_TELEGRAM` | Использовать прокси для Telegram | false |
|
| `PROXY_TELEGRAM` | Использовать прокси для Telegram | false |
|
||||||
| `PROXY_LOLZ` | Использовать прокси для Lolz API | false |
|
| `PROXY_LOLZ` | Использовать прокси для Lolz API | false |
|
||||||
|
|
||||||
@@ -143,6 +144,7 @@ PROXY=socks5://username:password@host:port
|
|||||||
```
|
```
|
||||||
|
|
||||||
Или без авторизации:
|
Или без авторизации:
|
||||||
|
|
||||||
```env
|
```env
|
||||||
PROXY=socks5://host:port
|
PROXY=socks5://host:port
|
||||||
```
|
```
|
||||||
@@ -150,7 +152,7 @@ PROXY=socks5://host:port
|
|||||||
#### Вариант 2: Отдельные параметры
|
#### Вариант 2: Отдельные параметры
|
||||||
|
|
||||||
| Переменная | Описание | По умолчанию |
|
| Переменная | Описание | По умолчанию |
|
||||||
| ---------------- | --------------------------------- | ------------ |
|
| ---------------- | ---------------------------------- | ------------ |
|
||||||
| `PROXY_PROTOCOL` | Протокол прокси (socks5 или https) | socks5 |
|
| `PROXY_PROTOCOL` | Протокол прокси (socks5 или https) | socks5 |
|
||||||
| `PROXY_HOST` | Хост прокси-сервера | - |
|
| `PROXY_HOST` | Хост прокси-сервера | - |
|
||||||
| `PROXY_PORT` | Порт прокси-сервера | - |
|
| `PROXY_PORT` | Порт прокси-сервера | - |
|
||||||
@@ -158,10 +160,12 @@ PROXY=socks5://host:port
|
|||||||
| `PROXY_PASSWORD` | Пароль (опционально) | - |
|
| `PROXY_PASSWORD` | Пароль (опционально) | - |
|
||||||
|
|
||||||
**Поддерживаемые форматы прокси:**
|
**Поддерживаемые форматы прокси:**
|
||||||
|
|
||||||
- SOCKS5: `socks5://host:port`
|
- SOCKS5: `socks5://host:port`
|
||||||
- HTTPS: `https://host:port`
|
- HTTPS: `https://host:port`
|
||||||
|
|
||||||
**Поддерживаемые возможности:**
|
**Поддерживаемые возможности:**
|
||||||
|
|
||||||
- ✓ Пароли с символом `:` внутри
|
- ✓ Пароли с символом `:` внутри
|
||||||
- ✓ IPv6 адреса
|
- ✓ IPv6 адреса
|
||||||
- ✓ Авторизация с логином и паролем
|
- ✓ Авторизация с логином и паролем
|
||||||
@@ -187,85 +191,8 @@ PROXY=socks5://host:port
|
|||||||
|
|
||||||
Если файл пустой — используется `✓`.
|
Если файл пустой — используется `✓`.
|
||||||
|
|
||||||
## Структура проекта
|
|
||||||
|
|
||||||
```
|
|
||||||
Auto-Stars-Improved/
|
|
||||||
├── main.py # Точка входа
|
|
||||||
├── config.py # Загрузка конфигурации
|
|
||||||
├── modules/
|
|
||||||
│ ├── stars_bot.py # Основная логика бота
|
|
||||||
│ ├── lolz.py # API клиент Lolz.team
|
|
||||||
│ ├── notification_bot.py # Уведомления через Telegram
|
|
||||||
│ └── processed.py # Менеджер обработанных постов
|
|
||||||
├── storage/
|
|
||||||
│ ├── replies.txt # Шаблоны ответов
|
|
||||||
│ ├── captcha.txt # Текст капчи
|
|
||||||
│ ├── processed_posts.json # История обработанных постов
|
|
||||||
│ ├── logs/ # Логи
|
|
||||||
│ └── sessions/ # Сессии Pyrogram
|
|
||||||
├── examples/
|
|
||||||
│ ├── .env.example # Пример конфигурации
|
|
||||||
│ └── docker-compose.yml # Docker Compose конфигурация
|
|
||||||
└── Dockerfile # Docker образ
|
|
||||||
```
|
|
||||||
|
|
||||||
## Обработка ошибок
|
|
||||||
|
|
||||||
Бот включает систему обработки ошибок с повторными попытками:
|
|
||||||
|
|
||||||
- **Network errors**: Автоматические повторные попытки с задержкой
|
|
||||||
- **API errors**: Логирование и уведомление администратора
|
|
||||||
- **Config errors**: Валидация при старте с понятными сообщениями об ошибках
|
|
||||||
- **Timeout errors**: Настраиваемый таймаут через `API_TIMEOUT`
|
|
||||||
|
|
||||||
Все ошибки логируются в `storage/logs/` с ротацией файлов.
|
|
||||||
|
|
||||||
## Логирование
|
|
||||||
|
|
||||||
Логи сохраняются в `storage/logs/auto_stars.log` с автоматической ротацией:
|
|
||||||
- Максимальный размер файла: 5 MB
|
|
||||||
- Количество резервных копий: 3
|
|
||||||
- Формат: `[YYYY-MM-DD HH:MM:SS] [LEVEL] [module] message`
|
|
||||||
|
|
||||||
Уровни логирования:
|
|
||||||
- `INFO` — основные операции
|
|
||||||
- `DEBUG` — детальная информация (запросы, ответы)
|
|
||||||
- `WARNING` — предупреждения
|
|
||||||
- `ERROR` — ошибки с трейсбеком
|
|
||||||
|
|
||||||
## Разработка
|
|
||||||
|
|
||||||
### Локальная разработка
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git clone https://git.sakamoto.best/Lolz/Auto-Stars-Improved.git
|
|
||||||
cd Auto-Stars-Improved
|
|
||||||
python -m venv venv
|
|
||||||
source venv/bin/activate # или venv\Scripts\activate на Windows
|
|
||||||
pip install -r requirements.txt
|
|
||||||
cp examples/.env.example .env
|
|
||||||
# редактируйте .env
|
|
||||||
python main.py
|
|
||||||
```
|
|
||||||
|
|
||||||
### CI/CD
|
|
||||||
|
|
||||||
Проект использует Gitea Actions для автоматической сборки Docker образов:
|
|
||||||
|
|
||||||
- **main branch** → `ghcr.io/username/auto-stars-improved:latest`
|
|
||||||
- **dev branch** → `ghcr.io/username/auto-stars-improved:dev`
|
|
||||||
|
|
||||||
## Автор
|
|
||||||
|
|
||||||
Разработчик: (https://lolz.team/members/7272152/) на Lolz.team
|
|
||||||
|
|
||||||
## Лицензия
|
|
||||||
|
|
||||||
Этот проект распространяется "как есть" без каких-либо гарантий.
|
|
||||||
|
|
||||||
## Поддержка
|
## Поддержка
|
||||||
|
|
||||||
|
- Автор: [Дриада](https://lolz.team/members/7272152/)
|
||||||
- Создайте Issue на Gitea: https://git.sakamoto.best/Lolz/Auto-Stars-Improved/issues
|
- Создайте Issue на Gitea: https://git.sakamoto.best/Lolz/Auto-Stars-Improved/issues
|
||||||
- Форум Lolz.team: https://lolz.team/threads/10187517/
|
- Тема на форуме Lolz.team: https://lolz.team/threads/10187517/
|
||||||
- Автор: [@sakamotogoat](https://lolz.team/members/7272152/)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user