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. Опционально может оставлять комментарий под постом.
|
- Автоматический мониторинг темы на Lolz.team
|
||||||
|
- Отправка Telegram Stars за каждый новый пост
|
||||||
## Установка
|
- Автоматические ответы с поддержкой шаблонов (включая случайный выбор)
|
||||||
|
- Полная поддержка Docker (рекомендуется)
|
||||||
### Вариант 1 — Docker (рекомендуется)
|
- CI/CD через Gitea Actions (сборка и публикация образов)
|
||||||
|
- Уведомления администратору через Telegram
|
||||||
**1. Клонируйте репозиторий**
|
- Гибкая настройка через `.env`
|
||||||
|
- Логирование и сохранение сессии
|
||||||
```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+
|
- Python 3.10+
|
||||||
- Аккаунт Telegram с доступом к [my.telegram.org](https://my.telegram.org)
|
- Аккаунт Telegram (для получения `API_ID` и `API_HASH`)
|
||||||
- API-токен [Lolz.team](https://lolz.team)
|
- 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