weremexii / nazurin

๐ŸŽ‰ Images collection done right. Telegram ๅ›พ็‰‡ๆ”ถ่—ๆœบๅ™จไบบ / A Telegram bot which helps you collect ACG illustrations.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nazurin

Codacy Badge

English | ไธญๆ–‡

ๅฐใ•ใชๅฐใ•ใช่ณขๅฐ†, a Telegram bot which helps you collect ACG illustrations from various sites.

Architecture

architecture.png

Features

  • View/Download artwork from various sites
  • Add images to your collection via Telegram
  • Store your collection in Telegram channels
  • Store images on multiple types of storage
  • Store image metadata in multiple types of database

Supported Sites

Name URL Commands Collection
Pixiv https://www.pixiv.net/ โœ” โœ”
Danbooru https://danbooru.donmai.us/ โœ” โœ”
Safebooru https://safebooru.donmai.us/ โœ”
yandere https://yande.re/ โœ” โœ”
Konachan https://konachan.com/ โœ” โœ”
Lolibooru https://lolibooru.moe/ โœ”
Zerochan https://www.zerochan.net/ โœ” โœ”
Gelbooru https://gelbooru.com/ โœ”
Twitter https://twitter.com/ โœ”
Bilibili Dynamics https://t.bilibili.com/ โœ”

Supported Databases

Driver URL Usage Note
TinyDB https://tinydb.readthedocs.io/en/stable/index.html Wiki Default
Firestore https://firebase.google.com/products/firestore Wiki
MongoDB https://www.mongodb.com/ Wiki MongoDB Atlas supported
Cloudant https://www.ibm.com/cloud/cloudant Wiki

You can also implement your own database driver by creating a file under database folder, and set this option to the name of driver class.

Supported Storage

Name URL Usage Note
Local Set STORAGE = [] Default
MEGA https://mega.nz/ Wiki
Google Drive https://drive.google.com/ Wiki

Configuration

For more information, see Wiki

Deploy

Deploy on Heroku

  1. 'Deploy to Heroku' Button:

    Deploy

Tips: You can fork this repository, modify it to your needs, and use this button to deploy your own version.

  1. Manual deploy:

    Set all required environment variables on Heroku according to config.py(root directory & /sites), clone this repository and push to Heroku, everything should be working properly.

Deploy on your own server

Tips: You may comment out unused dependencies in requirements.txt before installation.

  1. Install dependencies: pip install -r requirements.txt
  2. Set the required environment variables
  3. Start the bot: python bot.py

Usage

Commands:

  • /ping - pong
  • /pixiv <id> - view pixiv artwork
  • /pixiv_download <id> - download pixiv artwork
  • /danbooru <id> - view danbooru post
  • /danbooru_download <id> - download danbooru post
  • /yandere <id> - view yandere post
  • /yandere_download <id> - download yandere post
  • /konachan <id> - view konachan post
  • /konachan_download <id> - download konachan post
  • /zerochan <id> - view zerochan post
  • /zerochan_download <id> - download zerochan post
  • /bookmark <id> - bookmark pixiv artwork
  • /clear_downloads - clear download cache
  • /help - get help text

How to update your collection

Send the bot a message with a link of supported sites, this message will be forwarded to GALLERY channel, the bot will then download the original images from the site, send the files to ALBUM channel, and finally store to your custom destination.

Tips: On mobile you can use the share button in apps, as long as the final message contains a link.

Roadmap

  • Introduce plugin system and extract some functions
  • Support local database
  • Thorough error handling
  • Support more sites
  • Support Pixiv ugoira
  • Support Moebooru pools
  • Reverse Image Search
  • Provide more configurable options

About

๐ŸŽ‰ Images collection done right. Telegram ๅ›พ็‰‡ๆ”ถ่—ๆœบๅ™จไบบ / A Telegram bot which helps you collect ACG illustrations.

License:MIT License


Languages

Language:Python 100.0%