refactor(config): remove DEFAULT_CHOICE option
Build and Push (dev) / build (push) Successful in 1m56s

This commit is contained in:
2026-08-16 05:20:24 +05:00
parent 5dece14c8b
commit 37d4400513
5 changed files with 23 additions and 50 deletions
-4
View File
@@ -14,10 +14,6 @@ LOLZ_TOKEN=
LOLZ_THREAD_ID=
STARS_COUNT=1
# 1 - Начать мониторинг
# 2 - Спарсить все существующие посты
DEFAULT_CHOICE=2
START_PAGE=1
CHECK_INTERVAL=10
+14 -9
View File
@@ -23,12 +23,14 @@
## Быстрый старт (Docker — рекомендуется)
1. Клонируйте репозиторий:
```bash
git clone https://git.sakamoto.best/Lolz/Auto-Stars-Improved.git
cd Auto-Stars-Improved
```
2. Скопируйте пример конфигурации:
```bash
cp examples/.env.example .env
```
@@ -36,6 +38,7 @@
3. Отредактируйте `.env` и заполните необходимые значения (`API_ID`, `API_HASH`, `LOLZ_TOKEN`, `LOLZ_THREAD_ID` и т.д.).
4. Запустите:
```bash
docker compose -f examples/docker-compose.yml up -d
```
@@ -61,19 +64,19 @@ python main.py
Все настройки находятся в файле `.env`.
Пример конфигурации лежит здесь:
- `examples/.env.example`
**Основные параметры:**
| Переменная | Описание | По умолчанию |
|-----------------------|-----------------------------------------------|--------------|
| `API_ID` / `API_HASH` | Данные Telegram API | - |
| `LOLZ_TOKEN` | Токен API Lolz.team | - |
| `LOLZ_THREAD_ID` | ID темы на форуме | - |
| `STARS_COUNT` | Сколько звёзд отправлять за пост | 1 |
| `DEFAULT_CHOICE` | 1 — реал-тайм, 2 — обработать все посты | 2 |
| `ENABLE_REPLY` | Отправлять ли комментарии | true |
| `SKIP_COMMENTED` | Пропускать посты, на которые уже отвечали | true |
| Переменная | Описание | По умолчанию |
| --------------------- | ----------------------------------------- | ------------ |
| `API_ID` / `API_HASH` | Данные Telegram API | - |
| `LOLZ_TOKEN` | Токен API Lolz.team | - |
| `LOLZ_THREAD_ID` | ID темы на форуме | - |
| `STARS_COUNT` | Сколько звёзд отправлять за пост | 1 |
| `ENABLE_REPLY` | Отправлять ли комментарии | true |
| `SKIP_COMMENTED` | Пропускать посты, на которые уже отвечали | true |
## Шаблоны ответов
@@ -82,10 +85,12 @@ python main.py
Шаблоны хранятся в файле `storage/replies.txt`.
**Формат:**
- Каждая строка — отдельный шаблон
- Можно использовать `||` для случайного выбора
**Пример:**
```
:catdance: Отправил звёзды || :animeyes2: Отправил
:sadge: Тут может быть реклама
+9 -9
View File
@@ -106,7 +106,6 @@ class Config:
stars_count = int(os.getenv(key="STARS_COUNT", default=1))
# Misc
default_choice = int(os.getenv(key="DEFAULT_CHOICE", default=2))
start_page = max(int(os.getenv(key="START_PAGE", default=1)), 1)
check_interval = max(
@@ -185,9 +184,7 @@ class Config:
if "@" in main:
main_split = main.split("@")
if len(main_split) != 2:
raise ConfigError(
"Неверный формат авторизации в PROXY"
)
raise ConfigError("Неверный формат авторизации в PROXY")
authorization = main_split[0]
server = main_split[1]
@@ -222,13 +219,15 @@ class Config:
proxy_protocol,
proxy_host,
proxy_port,
"да" if proxy_username else "нет"
"да" if proxy_username else "нет",
)
except ConfigError:
raise
except Exception as e:
raise ConfigError(f"Произошла ошибка при парсе PROXY: {e}") from e
raise ConfigError(
f"Произошла ошибка при парсе PROXY: {e}"
) from e
else:
logger.info("Загрузка прокси из отдельных переменных...")
@@ -250,7 +249,7 @@ class Config:
proxy_protocol,
proxy_host,
proxy_port,
"да" if proxy_username else "нет"
"да" if proxy_username else "нет",
)
# Валидация
@@ -259,7 +258,9 @@ class Config:
f"Формат прокси '{proxy_protocol}' не поддерживается. Укажите socks5 или https"
)
if (proxy_username and not proxy_password) or (proxy_password and not proxy_username):
if (proxy_username and not proxy_password) or (
proxy_password and not proxy_username
):
raise ConfigError(
"PROXY_USERNAME и PROXY_PASSWORD должны быть указаны оба или не указаны вовсе"
)
@@ -295,7 +296,6 @@ class Config:
"api_delay": api_delay,
"api_timeout": api_timeout,
"max_retries": max_retries,
"default_choice": default_choice,
# Bump
"enable_auto_bump": enable_auto_bump,
"bump_check_interval": bump_check_interval,
-4
View File
@@ -17,10 +17,6 @@ LOLZ_TOKEN=
LOLZ_THREAD_ID=
STARS_COUNT=1
# 1 - Начать мониторинг
# 2 - Спарсить все существующие посты
DEFAULT_CHOICE=2
START_PAGE=1
CHECK_INTERVAL=10
-24
View File
@@ -427,30 +427,6 @@ class TelegramStarsBot:
if is_first_login:
logger.info("Сессия Telegram не найдена. Запускаю процесс входа...")
else:
if self.config.default_choice == 2:
logger.info("Выбран режим парсинга существующих постов.")
self.client = Client(
name=self.SESSION_NAME,
api_id=self.config.api_id,
api_hash=self.config.api_hash,
)
try:
await self.client.start()
await self.parse_existing_posts()
except Exception as e:
logger.error(f"Ошибка при парсинге существующих постов: {e}")
raise
finally:
if self.client and self.client.is_connected:
await self.client.stop()
logger.info(
"Парсинг завершен. Все существующие посты добавлены в обработанные."
)
return
self.start_page = self.config.start_page
self.client = Client(