The only external dependencies needed are:
- Python 3.13.0 or higher.
ffmpeg
.libopus
.libffi-devel
.
Then just install the bot from PyPI with pipx:
pipx install disopy
Or directy with pip
:
python3 -m pip install disopy
Finally generate a basic config file:
disopy --generate-config
It will be located at ${XDG_CONFIG_DIR}/disopy/config.toml
(in most cases $HOME/.config/disopy/config.toml
), remember to edit it with your configuration values.
There is an official Docker container with name ghcr.io/kutu-dev/disopy
. An example compose file is also provided.
The bot needs two environment variables:
The password to be send to the Subsonic REST API. Usually it'll be the same that you use to login in the WebUI of your Subsonic compatible server.
The token to be used when authenticating to the Discord API. To set up a bot on Discord follow this tutorial:
- Go to the Discord Developer Portal.
- Create a new application.
- On the application go to
Bot
. - Enable
Message Content Intent
. - And click on
Reset Token
to get string you should put on the env variable.
- Go to the Discord Developer Portal.
- Enter your bot application.
- On the application go to
OAuth2
. - Copy your
Client ID
. - Go to this preconfigured Discord Permissions Calculator.
- Paste your
Client ID
on the bottom. - Copy and share your invite link at the bottom of the web!
And then just start the bot!
DISOPY_SUBSONIC_PASSWORD=foo DISOPY_DISCORD_TOKEN=bar disopy
If you are interested in fixing bugs or adding new features please check the contributing guide.
- Created with ❤️ by Jorge "Kutu" Dobón Blanco.
- JmTexas19: Creator of Subrift, project forked that served as a base for Disopy.
- iGieri: Fix issue #1.
- outmaneuver: Fix issue #3.
- An May (YUR0ii): Make HTTPS optional.