feat: Rewrite README.md with improved structure, Docker-first instructions, and correct repo URLs
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user