feat: Rewrite README.md with improved structure, Docker-first instructions, and correct repo URLs

This commit is contained in:
2026-07-30 01:02:41 +00:00
parent 64649a5b26
commit f37977e88f
+103 -129
View File
@@ -1,136 +1,110 @@
# ⭐ Auto-Stars
# ⭐ Auto-Stars-Improved
Бот автоматически отправляет Telegram Stars пользователям, которые оставляют посты в указанной теме на Lolz.team.
Бот для автоматической отправки 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: Это третье сообщение
```
Если файл отсутствует или пустой — бот использует `✓` по умолчанию.
- Автоматический мониторинг темы на Lolz.team
- Отправка Telegram Stars за каждый новый пост
- Автоматические ответы с поддержкой шаблонов (включая случайный выбор)
- Полная поддержка Docker (рекомендуется)
- CI/CD через Gitea Actions (сборка и публикация образов)
- Уведомления администратору через Telegram
- Гибкая настройка через `.env`
- Логирование и сохранение сессии
## Требования
- Python 3.10+
- Аккаунт Telegram с доступом к [my.telegram.org](https://my.telegram.org)
- API-токен [Lolz.team](https://lolz.team)
- Аккаунт Telegram (для получения `API_ID` и `API_HASH`)
- API-токен Lolz.team
- Docker (рекомендуется) или Python окружение
## Быстрый старт (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
```
3. Отредактируйте `.env` и заполните необходимые значения (`API_ID`, `API_HASH`, `LOLZ_TOKEN`, `LOLZ_THREAD_ID` и т.д.).
4. Запустите:
```bash
docker compose -f examples/docker-compose.yml up -d
```
5. Посмотрите логи:
```bash
docker compose -f examples/docker-compose.yml logs -f
```
> При первом запуске (если используете Pyrogram напрямую) потребуется интерактивная авторизация в Telegram.
## Конфигурация
Все настройки находятся в файле `.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 |
## Шаблоны ответов
Если `ENABLE_REPLY=true`, бот будет отвечать под постами.
Шаблоны хранятся в файле `storage/replies.txt`.
**Формат:**
- Каждая строка — отдельный шаблон
- Можно использовать `||` для случайного выбора
**Пример:**
```
:catdance: Отправил звёзды || :animeyes2: Отправил
:sadge: Тут может быть реклама
```
Если файл пустой — используется ``.
## Запуск без Docker
```bash
pip install -r requirements.txt
cp examples/.env.example .env
# отредактируйте .env
python main.py
```
## Разработка
Проект использует Gitea Actions для автоматической сборки Docker-образов.
- `main` ветка — стабильные сборки
- `dev` ветка — тестовые сборки
Для локальной сборки:
```bash
docker build -t auto-stars .
```
## Лицензия
MIT