diff --git a/README.md b/README.md index 0b383fd..db3b25e 100644 --- a/README.md +++ b/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). +