2025-08-23 04:02:04 +03:00
2025-08-23 04:02:04 +03:00
2025-08-23 03:53:29 +03:00
2025-08-23 03:54:47 +03:00
2025-08-23 03:49:25 +03:00
2025-08-23 03:51:52 +03:00
2025-08-23 03:52:57 +03:00

🐴 Derpibooru Telegram Bot

Telegram-бот, который автоматически публикует изображения с Derpibooru по заданным тегам.

Особенности:

  • Публикация изображений в канал каждый час в 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. Клонируем репозиторий:
git clone https://github.com/USERNAME/derpibooru-telegram-bot.git
cd derpibooru-telegram-bot
  1. Создаём виртуальное окружение и устанавливаем зависимости:
python -m venv venv
source venv/bin/activate       # Linux/macOS
venv\Scripts\activate          # Windows
pip install -r requirements.txt
  1. Создаём requirements.txt:
python-telegram-bot==20.5
aiohttp==3.9.5
  1. Настраиваем app.py:
TELEGRAM_TOKEN = "ВАШ_TELEGRAM_TOKEN"
CHANNEL_ID = -100XXXXXXXXX      # числовой ID канала
DERPIBOORU_TOKEN = "ВАШ_DERPIBOORU_TOKEN"
TAGS_LIST = [
    [ег1"],
    [тег2],
    [тег3]
]
FILTER_ID = 56027               # ID фильтра, разрешающего NSFW

🚀 Запуск

python app.py
  • Бот автоматически публикует изображения каждый час.
  • В терминале можно писать команды:
postnow
posttags tag1 

🔧 Как получить FILTER_ID для NSFW

  1. Зайдите на Derpibooru и авторизуйтесь.
  2. Перейдите в FiltersCreate New Filter.
  3. Настройте фильтр так, чтобы NSFW контент не скрывался.
  4. Скопируйте ID фильтра из URL (пример: https://derpibooru.org/filters/5602756027).
  5. Подставьте этот FILTER_ID в app.py.

📌 Советы

  • Убедитесь, что токен Telegram и Derpibooru верны.
  • Не используйте теги из категории Safe вместе с NSFW, иначе API вернёт пустой результат.
  • Все уже опубликованные изображения сохраняются в sent_images.json, чтобы не повторять посты.

⚖️ Лицензия

MIT License.

Description
Telegram-бот, который автоматически публикует изображения с Derpibooru по заданным тегам.
Readme MIT 55 KiB
Languages
Python 100%