Files
Auto-Stars-Improved/README.md
T
2026-07-29 21:41:59 +00:00

137 lines
4.7 KiB
Markdown

# ⭐ Auto-Stars
Бот автоматически отправляет Telegram Stars пользователям, которые оставляют посты в указанной теме на Lolz.team.
## Как это работает
Бот следит за выбранной темой на форуме. Когда кто-то публикует новый пост — бот отправляет ему звёзды через Telegram. Опционально может оставлять комментарий под постом.
## Установка
### Вариант 1 — Docker (рекомендуется)
**1. Клонируйте репозиторий**
```bash
git clone https://github.com/ваш-ник/auto-stars
cd auto-stars
```
**2. Создайте `.env`** на основе примера и заполните его:
```bash
cp examples/.env.example .env
```
**3. Авторизуйтесь в Telegram**
Pyrogram требует интерактивного входа при первом запуске. Выполните его локально:
```bash
pip install -r requirements.txt
python main.py
```
Введите номер телефона и код подтверждения. После успешного входа бот создаст файл `storage/stars_bot.session` и завершится с сообщением о необходимости перезапуска. После этого Docker будет использовать готовую сессию.
**4. Запустите через Docker Compose**
```bash
docker compose -f examples/docker-compose.yml up -d
```
Данные сессии и логи хранятся в `./storage` и `./logs` на хосте (или по путям `LOGS_PATH` / `STORAGE_PATH` из `.env`).
**5. Просмотр логов**
```bash
docker compose -f examples/docker-compose.yml logs -f
```
---
### Вариант 2 — Запуск напрямую
**1. Клонируйте репозиторий**
```bash
git clone https://github.com/ваш-ник/auto-stars
cd auto-stars
```
**2. Установите зависимости**
```bash
pip install -r requirements.txt
```
**3. Создайте файл `.env`** на основе `.env.example` и заполните его (см. раздел ниже).
**4. Запустите бота**
```bash
python main.py
```
При первом запуске Pyrogram попросит войти в Telegram-аккаунт — введите номер телефона и код подтверждения.
## Настройка `.env`
```env
# Telegram API — получить на https://my.telegram.org
API_ID=ваш_api_id
API_HASH=ваш_api_hash
# Lolz.team — токен API из настроек профиля
LOLZ_TOKEN=ваш_токен
# ID темы на форуме, за которой следит бот
LOLZ_THREAD_ID=123456
# Сколько звёзд отправлять за каждый пост
STARS_COUNT=1
# Режим запуска:
# 1 — мониторинг новых постов в реальном времени
# 2 — обработать все существующие посты в теме
DEFAULT_CHOICE=2
# С какой страницы начинать (обычно 1)
START_PAGE=1
# Как часто проверять новые посты (в секундах, минимум ~0.2)
CHECK_INTERVAL=30
# Задержка между запросами к API (в секундах, минимум 2)
API_DELAY=5
# Количество повторных попыток при ошибке
MAX_RETRIES=3
# Оставлять ли комментарий под постом
ENABLE_REPLY=true
# Пропускать посты, под которыми уже есть комментарий
SKIP_COMMENTED=true
```
## Шаблоны ответов
Если `ENABLE_REPLY=true`, бот будет комментировать посты. Тексты берутся из файла `storage/replies.txt`.
Каждая строка — отдельный шаблон. Если в строке несколько вариантов через `||`, бот выберет один из них случайно:
```
:catdance: Отправил звёзды || :animeyes2: Отправил
:sadge: Тут может быть реклама || ​Реклама казика :animeyessir:
:sigma: Это третье сообщение
```
Если файл отсутствует или пустой — бот использует `✓` по умолчанию.
## Требования
- Python 3.10+
- Аккаунт Telegram с доступом к [my.telegram.org](https://my.telegram.org)
- API-токен [Lolz.team](https://lolz.team)