ch3p4ll3 / QBittorrentBot

This bot can control qbittorrent easily from Telegram! You can add magnet or torrent files, have a list of active downloads, delete, pause and restart downloads.
https://ch3p4ll3.github.io/QBittorrentBot/
GNU General Public License v3.0
70 stars 28 forks source link
bot docker docker-image dockerfile dockerhub pyrogram pyrogram-bot qbittorrent qbittorrent-api qbittorrent-webui telegram telegram-bot telegrambot torrent

GitHub License Codacy Badge GitHub Workflow Status (with event) Docker Pulls

All Contributors

QBittorrentBot

With this bot telegram you can manage your qbittorrent with a few simple clicks. Thanks to QBittorrentBot you can have a list of all the files in download / upload, add torrents and magnets.
You can add more magnets by simply placing one link per line, e.g.

magnet:?xt=...  
magnet:?xt=...  

You can also pause, resume, delete and add/remove and modify categories.

Table Of Contents

Warning!

Since version V2, the mapping of the configuration file has been changed. Make sure you have modified it correctly before starting the bot

Configuration

Retrieve Telegram API ID and API HASH

With the change of library to pyrogram you will need the API_ID and API_HASH. Check here to find out how to recover them.

JSON Configuration

Edit the config.json.template file and rename it to config.json. The config file is stored in the mounted /app/config/ volume

{
    "client": {
        "type": "qbittorrent",
        "host": "http://192.168.178.102:8080",
        "user": "admin",
        "password": "admin"
    },
    "telegram": {
        "bot_token": "1111111:AAAAAAAA-BBBBBBBBB",
        "api_id": 1111,
        "api_hash": "aaaaaaaa",
        "proxy": {  // optional
            "scheme": "http",
            "hostname": "myproxy.local",
            "port": 8080,
            "username": "admin",  // optional
            "password": "admin"  // optional
        }
    },

    "users": [
        {
            "user_id": 123456,
            "notify": false,
            "locale": "en",  // optional, default "en"
            "role": "administrator"  // optional, default "administrator"
        },
        {
            "user_id": 78910,
            "notify": true,
            "locale": "it",
            "role": "administrator"
        }
    ]
}

Note: If notify is true then the user will receive a notification whenever a torrent has finished downloading

Running

Pull and run the image with: docker run -d -v /home/user/docker/QBittorrentBot:/app/config:rw --name qbittorrent-bot ch3p4ll3/qbittorrent-bot:latest

Build docker

Running without docker

Contributing Translations on Transifex

QBittorrentBot is an open-source project that relies on the contributions of its community members to provide translations for its users. If you are multilingual and would like to help us make QBittorrentBot more accessible to a wider audience, you can contribute by adding new translations or improving existing ones using Transifex:

Thank you for helping improve QBittorrentBot with your valuable translations!

How to enable the qBittorrent Web UI

For the bot to work, it requires qbittorrent to have the web interface active. You can activate it by going on the menu bar, go to Tools > Options qBittorrent WEB UI

Click on Ok to save settings.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Bogdan
Bogdan

💻
joey00797
joey00797

🌍

This project follows the all-contributors specification. Contributions of any kind welcome!

Star History

Star History Chart