Update README.md

This commit is contained in:
DarkShy
2025-08-23 03:51:52 +03:00
committed by GitHub
parent 09c6b261c1
commit 2fe841cced

111
README.md
View File

@@ -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).