Skip to content

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.

License

Notifications You must be signed in to change notification settings

bushig/QBittorrentBot

 
 

Repository files navigation

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

  • Clone this repo git clone https://github.com/ch3p4ll3/QBittorrentBot.git
  • Move in the project directory
  • Create a config.json file
  • Run docker build -t qbittorrent-bot:latest . && docker run -d -v /home/user/docker/QBittorrentBot:/app/config:rw --name qbittorrent-bot qbittorrent-bot:latest

Running without docker

  • Clone this repo git clone https://github.com/ch3p4ll3/QBittorrentBot.git
  • Move in the project directory
  • Install dependencies with pip3 install -r requirements.txt
  • Create a config.json file
  • Start the bot with python3 main.py

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:

  • Visit the QBittorrentBot Transifex Project.

  • If you don't have a Transifex account, sign up for one. If you already have an account, log in.

  • Navigate to the "Languages" tab to view the available languages. Choose the language you want to contribute to.

  • Locate the specific string you wish to translate. Please note that the text between "${" and "}" should not be edited, as they are placeholders for dynamic content.

  • Click on the string you want to translate, enter your translation in the provided field, and save your changes.

  • If your language is not listed, you can request its addition.

  • Once you have completed your translations, submit them for review. The project maintainers will review and approve your contributions.

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

  • In the new window, choose Web UI option
  • Check the Enable the Web User Interface (Remote control) option
  • Choose a port (by default 8080)
  • Set username and password (by default username: admin / password: adminadmin)

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

About

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.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.8%
  • Dockerfile 0.2%