forked from Lolz/Auto-Pump
222 lines
7.1 KiB
Markdown
222 lines
7.1 KiB
Markdown
# 🚀 QIYANA AUTO-BUMP BOT для Lolz.live
|
||
|
||
Бот для автоматического поднятия тем на форуме Lolz.live с удобным кнопочным интерфейсом
|
||
|
||
## ✨ Возможности
|
||
|
||
- ➕ **Добавление тем** - через запятую (12345, 67890, 11111)
|
||
- 🗑️ **Удаление тем** - через кнопки с ID и названием темы
|
||
- 📋 **Список тем** - с датой последнего поднятия
|
||
- 🚀 **Ручное поднятие** - поднять все темы прямо сейчас
|
||
- ⏰ **Автоподнятие** - каждые N часов автоматически
|
||
- 📊 **Статистика** - успешность, количество поднятий
|
||
- 👤 **Кнопка автора** - ссылка на профиль
|
||
|
||
## 🎮 Интерфейс
|
||
|
||
Бот работает через **кнопки**:
|
||
|
||
```
|
||
┌─────────────────────────────────┐
|
||
│ ➕ Добавить темы │ 📋 Список тем │
|
||
│ 🗑️ Удалить тему │ 🚀 Поднять темы │
|
||
│ 📊 Статистика │ 👤 Автор │
|
||
└─────────────────────────────────┘
|
||
```
|
||
|
||
## 📦 Установка
|
||
|
||
### 1. Установите зависимости:
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 2. Получите токены:
|
||
|
||
**Telegram Bot Token:**
|
||
1. Напишите [@BotFather](https://t.me/BotFather)
|
||
2. Создайте бота командой `/newbot`
|
||
3. Скопируйте токен
|
||
|
||
**Lolz API Token:**
|
||
1. Зайдите на [zelenka.guru/account/api](https://zelenka.guru/account/api)
|
||
2. Создайте токен с правами `read`, `post`
|
||
3. Скопируйте токен
|
||
|
||
### 3. Заполните `config.json`:
|
||
```json
|
||
{
|
||
"bot": {
|
||
"api_token": "1234567890:ABCdefGHIjklMNOpqrsTUVwxyz"
|
||
},
|
||
"api": {
|
||
"base_url": "https://api.zelenka.guru",
|
||
"auth_token": "eyJ0eXAiOiJKV1QiLCJhbGc..."
|
||
},
|
||
"database": {
|
||
"path": "threads.db"
|
||
},
|
||
"scheduling": {
|
||
"bump_interval_hours": 12,
|
||
"enable_auto_bump": true
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4. Запустите бота:
|
||
```bash
|
||
python app.py
|
||
```
|
||
|
||
## 📖 Использование
|
||
|
||
### Первый запуск:
|
||
|
||
1. Отправьте `/start` боту
|
||
2. Нажмите **➕ Добавить темы**
|
||
3. Введите ID тем через запятую: `12345, 67890, 11111`
|
||
4. Нажмите **🚀 Поднять темы** - все темы поднимутся
|
||
5. Бот будет автоматически поднимать темы каждые 12 часов
|
||
|
||
### Добавление тем:
|
||
|
||
1. Нажмите **➕ Добавить темы**
|
||
2. Введите ID через запятую: `12345, 67890`
|
||
3. Бот автоматически получит название каждой темы из API
|
||
4. Темы добавятся в базу данных
|
||
|
||
**Пример:**
|
||
```
|
||
Ввод: 9247920, 9247921, 9247922
|
||
|
||
Результат:
|
||
✅ 9247920 - Qiyanas steam idler
|
||
✅ 9247921 - Discord bot
|
||
✅ 9247922 - VPN service
|
||
```
|
||
|
||
### Удаление темы:
|
||
|
||
1. Нажмите **🗑️ Удалить тему**
|
||
2. Выберите тему из списка (показывается ID - название)
|
||
3. Тема удалится из базы данных
|
||
|
||
### Ручное поднятие:
|
||
|
||
1. Нажмите **🚀 Поднять темы**
|
||
2. Бот поднимет все темы по очереди
|
||
3. Каждый результат придет отдельным сообщением:
|
||
```
|
||
[1/3] ✅ Тема 9247920 поднята успешно
|
||
[2/3] ✅ Тема 9247921 поднята успешно
|
||
[3/3] ✅ Тема 9247922 поднята успешно
|
||
```
|
||
|
||
### Список тем:
|
||
|
||
Нажмите **📋 Список тем** - покажет:
|
||
- ID темы
|
||
- Название темы
|
||
- Дату последнего поднятия
|
||
|
||
### Статистика:
|
||
|
||
Нажмите **📊 Статистика** - покажет:
|
||
- Количество тем в списке
|
||
- Сколько готовы к поднятию
|
||
- Всего попыток поднятия
|
||
- Успешность (%)
|
||
- Настройки интервала
|
||
- Время работы бота
|
||
|
||
## ⚙️ Настройки
|
||
|
||
### Интервал автоподнятия
|
||
|
||
В `config.json` можно изменить `bump_interval_hours`:
|
||
|
||
| Значение | Интервал |
|
||
|----------|----------|
|
||
| `12` | 12 часов |
|
||
|
||
### Тестовый запуск (5 минут):
|
||
|
||
Для теста поставьте:
|
||
```json
|
||
"scheduling": {
|
||
"bump_interval_hours": 0.0833,
|
||
"enable_auto_bump": true
|
||
}
|
||
```
|
||
|
||
## 🔄 Как работает автоподнятие
|
||
|
||
1. Запускаете бота
|
||
2. **Вручную** поднимаете темы через кнопку 🚀 (первый раз)
|
||
3. Бот ждет указанный интервал (например, 12 часов)
|
||
4. Автоматически поднимает темы, у которых прошло 12+ часов
|
||
5. Повторяет каждые 12 часов
|
||
|
||
**Пример:**
|
||
```
|
||
00:00 - Запуск бота
|
||
00:05 - Вы вручную нажали "Поднять темы" (все темы поднялись)
|
||
12:05 - Автоматическое поднятие готовых тем
|
||
24:05 - Автоматическое поднятие готовых тем
|
||
36:05 - Автоматическое поднятие готовых тем
|
||
...
|
||
```
|
||
|
||
⚡ **Важно:** Первое поднятие делаете ВЫ вручную через кнопку, потом бот сам!
|
||
|
||
## 📝 Логи
|
||
|
||
- **Консоль** - основные события
|
||
- **bot.log** - детальные логи с ошибками
|
||
|
||
## 🔧 Технические детали
|
||
|
||
- **Версия aiogram**: 3.4.1
|
||
- **Python**: 3.8+
|
||
- **База данных**: SQLite (threads.db)
|
||
- **API**: https://api.zelenka.guru
|
||
- **Задержка между поднятиями**: 2 секунды
|
||
|
||
## 📡 API запрос для поднятия
|
||
|
||
Бот использует такой запрос для каждой темы:
|
||
|
||
```bash
|
||
curl --request POST \
|
||
--url https://api.zelenka.guru/threads/{THREAD_ID}/bump \
|
||
--header 'accept: application/json' \
|
||
--header 'authorization: Bearer {YOUR_TOKEN}'
|
||
```
|
||
|
||
Бот автоматически извлекает:
|
||
- `thread_id` - ID темы
|
||
- `thread_title` - название темы
|
||
|
||
Из ответа API:
|
||
```json
|
||
{
|
||
"thread": {
|
||
"thread_id": ID,
|
||
"thread_title": "TITLE"
|
||
}
|
||
}
|
||
```
|
||
## 🐛 Если возникли проблемы
|
||
|
||
1. Проверьте токены в `config.json`
|
||
2. Убедитесь, что токены валидные
|
||
3. Посмотрите `bot.log` для деталей
|
||
4. Перезапустите бота
|
||
|
||
## 👤 Автор
|
||
|
||
[QIYANA](https://lolz.live/kqlol/) - создатель бота
|
||
|
||
---
|
||
|
||
**Приятного использования! 🚀** |