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/help
for 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 BOT
toggle- 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 ID
from above - replace
<permissions>
with the minimum permissions93248
(for read/send/manage messages, embed links, read message history, and add rections) or administrator permissions9
to keep things simple
- replace
- Invite the bot to your server
- Go to
- Configure
config.json
file starting withconfig-sample.json
- All values with
ids
are 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_ids
if you want to use in-channel,notification_channel_id
if you wish to use in-channel notifications,owner_user_ids
at least with your Discord user id,tsclient
with information pointing to your Transmission remote gui,whitelist_user_ids
at 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