9.1 KiB
⭐ Auto-Stars-Improved
Бот для автоматической отправки Telegram Stars пользователям, которые оставляют посты в указанной теме на форуме Lolz.team.
Возможности
- Автоматический мониторинг темы на Lolz.team
- Отправка Telegram Stars за каждый новый пост
- Автоматические ответы с поддержкой шаблонов (включая случайный выбор)
- Автоматическое поднятие темы (bump) с настраиваемым интервалом
- Система капчи для фильтрации пользователей
- Поддержка прокси для Telegram и Lolz API (SOCKS5/HTTPS)
- Полная поддержка Docker (рекомендуется)
- CI/CD через Gitea Actions (сборка и публикация образов)
- Уведомления администратору через Telegram
- Гибкая настройка через
.env - Логирование и сохранение сессии
- Обработка ошибок и повторные попытки
Требования
- Python 3.10+
- Аккаунт Telegram (для получения
API_IDиAPI_HASH) - API-токен Lolz.team
- Docker (рекомендуется) или Python окружение
Быстрый старт (Docker — рекомендуется)
-
Клонируйте репозиторий:
git clone https://git.sakamoto.best/Lolz/Auto-Stars-Improved.git cd Auto-Stars-Improved -
Скопируйте пример конфигурации:
cp examples/.env.example .env -
Отредактируйте
.envи заполните необходимые значения (API_ID,API_HASH,LOLZ_TOKEN,LOLZ_THREAD_IDи т.д.). -
Запустите:
docker compose -f examples/docker-compose.yml up -d -
Посмотрите логи:
docker compose -f examples/docker-compose.yml logs -f
Запуск без Docker
pip install -r requirements.txt
cp examples/.env.example .env
# отредактируйте .env
python main.py
При первом запуске (если используете Pyrogram напрямую) потребуется интерактивная авторизация в Telegram.
Конфигурация
Все настройки находятся в файле .env.
Пример конфигурации лежит здесь:
examples/.env.example
Основные параметры
| Переменная | Описание | По умолчанию |
|---|---|---|
API_ID / API_HASH |
Данные Telegram API | - |
LOLZ_TOKEN |
Токен API Lolz.team | - |
LOLZ_THREAD_ID |
ID темы на форуме | - |
STARS_COUNT |
Сколько звёзд отправлять за пост | 1 |
START_PAGE |
С какой страницы начинать парсинг | 1 |
ENABLE_REPLY |
Отправлять ли комментарии | true |
SKIP_COMMENTED |
Пропускать посты, на которые уже отвечали | true |
Параметры производительности
| Переменная | Описание | По умолчанию |
|---|---|---|
CHECK_INTERVAL |
Интервал проверки новых постов (секунды) | 10 |
API_DELAY |
Задержка между API запросами (секунды) | 5 |
API_TIMEOUT |
Таймаут для API запросов (секунды) | 15 |
MAX_RETRIES |
Количество повторных попыток при ошибках | 3 |
Уведомления
| Переменная | Описание | По умолчанию |
|---|---|---|
BOT_TOKEN |
Токен бота для уведомлений (от @BotFather) | - |
ADMIN_ID |
Telegram ID администратора для уведомлений | - |
NOTIFY_ADMIN |
Включить уведомления администратору | true |
Автоматическое поднятие темы (Bump)
| Переменная | Описание | По умолчанию |
|---|---|---|
ENABLE_AUTO_BUMP |
Включить автоматическое поднятие темы | true |
BUMP_CHECK_INTERVAL |
Интервал между поднятиями (секунды) | 3600 |
Примечание: Минимальный интервал поднятия — 3600 секунд (1 час) согласно правилам Lolz.team.
Система капчи
| Переменная | Описание | По умолчанию |
|---|---|---|
ENABLE_CAPTCHA |
Включить систему капчи | false |
CAPTCHA_ANSWER |
Правильный ответ на капчу | - |
CAPTCHA_CHECK_INTERVAL |
Интервал проверки обновления капчи (секунды) | 1800 |
Капча добавляется в нижний спойлер первого поста темы: Капча (обязательно).
Текст капчи хранится в файле storage/captcha.txt и поддерживает BBCode форматирование.
Пример storage/captcha.txt:
[CENTER][B]Напишите ответ:[/B]
сколько будет 20 + 20? [I][COLOR=rgb(80, 80, 78)](Капча меняется раз в месяц)[/COLOR][/I][/CENTER]
Прокси
Бот поддерживает использование прокси отдельно для Telegram и Lolz API.
| Переменная | Описание | По умолчанию |
|---|---|---|
PROXY_TELEGRAM |
Использовать прокси для Telegram | false |
PROXY_LOLZ |
Использовать прокси для Lolz API | false |
Вариант 1: Единая строка прокси
PROXY=socks5://username:password@host:port
Или без авторизации:
PROXY=socks5://host:port
Вариант 2: Отдельные параметры
| Переменная | Описание | По умолчанию |
|---|---|---|
PROXY_PROTOCOL |
Протокол прокси (socks5 или https) | socks5 |
PROXY_HOST |
Хост прокси-сервера | - |
PROXY_PORT |
Порт прокси-сервера | - |
PROXY_USERNAME |
Логин (опционально) | - |
PROXY_PASSWORD |
Пароль (опционально) | - |
Поддерживаемые форматы прокси:
- SOCKS5:
socks5://host:port - HTTPS:
https://host:port
Поддерживаемые возможности:
- ✓ Пароли с символом
:внутри - ✓ IPv6 адреса
- ✓ Авторизация с логином и паролем
- ✓ Независимая настройка для Telegram и Lolz API
Шаблоны ответов
Если ENABLE_REPLY=true, бот будет отвечать под постами.
Шаблоны хранятся в файле storage/replies.txt.
Формат:
- Каждая строка — отдельный шаблон
- Можно использовать
||для случайного выбора
Пример:
:catdance: Отправил звёзды || :animeyes2: Отправил
:sadge: Тут может быть реклама
Если файл пустой — используется ✓.
Поддержка
- Автор: Дриада
- Создайте Issue на Gitea: https://git.sakamoto.best/Lolz/Auto-Stars-Improved/issues
- Тема на форуме Lolz.team: https://lolz.team/threads/10187517/