All credits go to https://github.com/twilsonco/TransmissionBot, Thanks @jpdsc for DockerFile
A self-hosted python Discord.py bot for controlling an instance of Transmission, the bittorrent client, from a private Discord server. Using the transmissionrpc python library, this bot is built on kkrypt0nn's bot template and adapted from leighmacdonald's transmission scripts.
- Interact via text channels or DMs
- Add transfers
- Modify existing transfers
- Check transfer status (with optional realtime updating of output)
- Notification system for transfer state changes
- Pretty output and highly configurable
- Easy setup
t/helpfor usage information
- Setup your new bot on Discord:
- Sign up for a Discord developer account
- Go to the developer portal, click New Application, pick a name and click Create
- Note the
CLIENT ID
- Note the
- Click on Bot under SETTINGS and then click Add Bot
- Fill out information for the bot and uncheck the
PUBLIC BOTtoggle- Note the bot
TOKEN
- Note the bot
- Invite the bot to your server
- Go to
https://discordapp.com/api/oauth2/authorize?client_id=<client_id>&scope=bot&permissions=<permissions>- replace
<client_id>with theCLIENT IDfrom above - replace
<permissions>with the minimum permissions93248(for read/send/manage messages, embed links, read message history, and add rections) or administrator permissions9to keep things simple
- replace
- Invite the bot to your server
- Go to
- Configure
config.jsonfile starting withconfig-sample.json- All values with
idsare referring to Discord IDs, which are 18-digit numbers you can find by following these instructions - Values that MUST be configured:
bot_token,listen_channel_idsif you want to use in-channel,notification_channel_idif you wish to use in-channel notifications,owner_user_idsat least with your Discord user id,tsclientwith information pointing to your Transmission remote gui,whitelist_user_idsat least with your Discord user id and any other Discord users you wish to be able to use the bot.
- All values with
version: '3.3'
services:
transmissionbot:
image: 'tdelorge/transmissionbotdiscord'
container_name: transmissionbot
volumes:
- 'path/to/config.json:/TransmissionBot/config.json:rw'
restart: unless-stopped