From f37977e88f348b5ad2b2943a27f474859d6f9804 Mon Sep 17 00:00:00 2001 From: Open WebUI <15+open-webui@noreply.sakamoto.best> Date: Thu, 30 Jul 2026 01:02:41 +0000 Subject: [PATCH] feat: Rewrite README.md with improved structure, Docker-first instructions, and correct repo URLs --- README.md | 232 ++++++++++++++++++++++++------------------------------ 1 file changed, 103 insertions(+), 129 deletions(-) diff --git a/README.md b/README.md index cb98820..c53e1ed 100644 --- a/README.md +++ b/README.md @@ -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 \ No newline at end of file