Update README.md
This commit is contained in:
111
README.md
111
README.md
@@ -1,2 +1,109 @@
|
||||
# derpibooru-telegram-bot
|
||||
Telegram-бот, который автоматически публикует изображения с Derpibooru по заданным тегам.
|
||||
# 🐴 Derpibooru Telegram Bot
|
||||
|
||||
Telegram-бот, который автоматически публикует изображения с [Derpibooru](https://derpibooru.org) по заданным тегам.
|
||||
|
||||
Особенности:
|
||||
|
||||
* Публикация изображений в канал каждый час в 00 минут.
|
||||
* Поддержка команд в терминале:
|
||||
|
||||
* `postnow` — публикация случайного изображения сразу.
|
||||
* `posttags tag1 tag2 ...` — публикация изображения с указанными тегами.
|
||||
* Автоматический backoff при ошибках 500/501 API Derpibooru, чтобы избежать блокировки.
|
||||
* В подписи к изображению выводятся все теги, автор и источник.
|
||||
|
||||
---
|
||||
|
||||
## 📂 Структура проекта
|
||||
|
||||
```
|
||||
derpibooru-telegram-bot/
|
||||
│
|
||||
├─ app.py # Основной скрипт бота
|
||||
├─ sent_images.json # Лог уже отправленных изображений
|
||||
├─ bot.log # Лог работы бота
|
||||
├─ README.md # Этот файл
|
||||
└─ requirements.txt # Зависимости Python
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Установка
|
||||
|
||||
1. Клонируем репозиторий:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/USERNAME/derpibooru-telegram-bot.git
|
||||
cd derpibooru-telegram-bot
|
||||
```
|
||||
|
||||
2. Создаём виртуальное окружение и устанавливаем зависимости:
|
||||
|
||||
```bash
|
||||
python -m venv venv
|
||||
source venv/bin/activate # Linux/macOS
|
||||
venv\Scripts\activate # Windows
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
3. Создаём `requirements.txt`:
|
||||
|
||||
```
|
||||
python-telegram-bot==20.5
|
||||
aiohttp==3.9.5
|
||||
```
|
||||
|
||||
4. Настраиваем `app.py`:
|
||||
|
||||
```python
|
||||
TELEGRAM_TOKEN = "ВАШ_TELEGRAM_TOKEN"
|
||||
CHANNEL_ID = -100XXXXXXXXX # числовой ID канала
|
||||
DERPIBOORU_TOKEN = "ВАШ_DERPIBOORU_TOKEN"
|
||||
TAGS_LIST = [
|
||||
["тег1"],
|
||||
[тег2],
|
||||
[тег3]
|
||||
]
|
||||
FILTER_ID = 56027 # ID фильтра, разрешающего NSFW
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Запуск
|
||||
|
||||
```bash
|
||||
python app.py
|
||||
```
|
||||
|
||||
* Бот автоматически публикует изображения каждый час.
|
||||
* В терминале можно писать команды:
|
||||
|
||||
```
|
||||
postnow
|
||||
posttags tag1
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Как получить `FILTER_ID` для NSFW
|
||||
|
||||
1. Зайдите на [Derpibooru](https://derpibooru.org/) и авторизуйтесь.
|
||||
2. Перейдите в **Filters** → **Create New Filter**.
|
||||
3. Настройте фильтр так, чтобы **NSFW контент не скрывался**.
|
||||
4. Скопируйте `ID` фильтра из URL (пример: `https://derpibooru.org/filters/56027` → `56027`).
|
||||
5. Подставьте этот `FILTER_ID` в `app.py`.
|
||||
|
||||
---
|
||||
|
||||
## 📌 Советы
|
||||
|
||||
* Убедитесь, что токен Telegram и Derpibooru верны.
|
||||
* Не используйте теги из категории Safe вместе с NSFW, иначе API вернёт пустой результат.
|
||||
* Все уже опубликованные изображения сохраняются в `sent_images.json`, чтобы не повторять посты.
|
||||
|
||||
---
|
||||
|
||||
## ⚖️ Лицензия
|
||||
|
||||
[MIT License](https://github.com/DarkShyMW/derpibooru-telegram-bot/blob/main/LICENSE).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user