Connect your seedbox to your discord server.
This program enhances a Discord server by integrating torrent searching and downloading functionalities through the qBittorrent API. 🤯
-
Clone the repository:
git clone https://github.com/JakeTurner616/DiscordTorrentManager cd DiscordTorrentManager
-
Build the Docker image:
docker build -t discordtorrentmanager .
-
Run the Docker container:
docker run -d --name discordtorrentmanager -v $(pwd)/config.ini:/app/config.ini discordtorrentmanager
docker run -d --name discordtorrentmanager -v ${PWD}/config.ini:/app/config.ini discordtorrentmanager
-
Clone the repository:
git clone https://github.com/JakeTurner616/DiscordTorrentManager cd DiscordTorrentManager
-
Create a virtual environment:
python -m venv venv
-
Activate the virtual environment:
-
On Windows:
venv\Scripts\activate
-
On MacOS and Linux:
source venv/bin/activate
-
-
Install the required packages:
pip install -r requirements.txt
-
Running the bot:
The Bot can be started by running the start script, Make sure to setup qBittorrent and the values in
config.ini
.bash ./start.sh
If you encounter the following error:
ImportError: cannot import name 'Option' from 'discord'
, resolve it by running these commands:pip uninstall discord -y pip uninstall py-cord -y pip install discord pip install py-cord pip uninstall discord -y
-
Open qBittorrent and go to
Tools
->Options
. -
Navigate to the
Web UI
section under theWeb UI
tab. -
Check the
Enable the Web User Interface (Remote control)
box. -
Set a network interface to bind the Web UI in the
IP Address
text box. -
Set a username and password for the Web UI.
-
Create torrent categories in qBittorrent to associate the downloaded content with the folders they should be saved to (for example: movies --> Z://some/location/movies, and tv --> Z://some/location/tv). These are to be used with
/magnet <magnet_link> <category>
The category save paths could be set somwhere that has access to a media player like plex, jellyfin, a game folder, or anything really.
-
Go to the Discord Developer Portal and create a new bot application.
-
Create and copy the bot token.
-
Invite the bot to your Discord server using the OAuth2 URL Generator under the
OAuth2
tab. Make sure to give the bot the necessary permissions for slash commands, reactions, and text.
Edit the config.ini
file to include your specific environment settings for connecting to your discord bot and qBittorrent instance:
[Bot]
# change to your bot token
token = YOUR_DISCORD_BOT_TOKEN
# change to your server id
guild_id = YOUR_DISCORD_GUILD_ID
[qbit]
# change to your qBittorrent host and port: http://host_ip:port
host = http://host_ip:port
# qBittorrent WebUI login credentials
user = YOUR_QBITTORRENT_USERNAME
pass = YOUR_QBITTORRENT_PASSWORD
The bot can then be started by running the ./start.sh
script.
Here are the commands included with the DiscordTorrentManager bot:
-
Add a Magnet Link:
/magnet <magnet> <category>
This command adds a new torrent to qBittorrent using the provided magnet link and associates it with the specified category.
-
Search for Torrents:
/search <title>
This command searches for torrents based on the provided title. The bot will list the results, and the user can select a result to automatically download it to the 'movie' category. Assumes the 'movie' category exists.