# 🐴 Derpibooru Telegram Bot Telegram-Π±ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ автоматичСски ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ изобраТСния с [Derpibooru](https://derpibooru.org) ΠΏΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚Π΅Π³Π°ΠΌ. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ: * ΠŸΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠ°Π½Π°Π» ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ час Π² 00 ΠΌΠΈΠ½ΡƒΡ‚. * ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅: * `postnow` β€” публикация случайного изобраТСния сразу. * `posttags tag1 tag2 ...` β€” публикация изобраТСния с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π΅Π³Π°ΠΌΠΈ. * `timetopost` - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ врСмя, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Π΄ΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² сСкундах. * АвтоматичСский 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 timetopost ``` --- ## πŸ”§ Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ `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).