Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/codetheweb/aoede
🎧 a self-hosted Spotify → Discord music bot
https://github.com/codetheweb/aoede
discord hacktoberfest music rust serenity spotify
Last synced: 4 days ago
JSON representation
🎧 a self-hosted Spotify → Discord music bot
- Host: GitHub
- URL: https://github.com/codetheweb/aoede
- Owner: codetheweb
- License: mit
- Created: 2021-04-22T01:16:27.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-19T23:28:55.000Z (4 months ago)
- Last Synced: 2025-01-22T01:11:48.839Z (11 days ago)
- Topics: discord, hacktoberfest, music, rust, serenity, spotify
- Language: Rust
- Homepage:
- Size: 6.3 MB
- Stars: 304
- Watchers: 7
- Forks: 30
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-discord - aoede - A self-hosted Spotify Discord music bot. (Bots / Self Host-able Bots)
README
Aoede is a Discord music bot that **directly** streams from **Spotify to Discord**. The only interface is Spotify itself.
**Note**: a Spotify Premium account is currently required. This is a limitation of librespot, the Spotify library Aoede uses. Facebook logins [are not supported](https://github.com/librespot-org/librespot/discussions/635).
![Demo](https://raw.githubusercontent.com/codetheweb/aoede/main/.github/demo.gif)
## 💼 Usecases
- Small servers with friends
- Discord Stages, broadcast music to your audience## 🏗 Usage
(Images are available for x86 and arm64.)
### Notes:
⚠️ Aoede only supports bot tokens. Providing a user token won't work.Aoede will appear offline until you join a voice channel it has access it.
### Docker Compose (recommended):
There are a variety of image tags available:
- `:0`: versions >= 0.0.0
- `:0.5`: versions >= 0.5.0 and < 0.6.0
- `:0.5.1`: an exact version specifier
- `:latest`: whatever the latest version is```yaml
version: '3.4'services:
aoede:
image: codetheweb/aoede
restart: always
volumes:
- ./aoede:/data
environment:
- DISCORD_TOKEN=
- SPOTIFY_USERNAME=
- SPOTIFY_PASSWORD=
- DISCORD_USER_ID= # Discord user ID of the user you want Aoede to follow
- SPOTIFY_BOT_AUTOPLAY= # Autoplay similar songs when your music ends (true/false)
- SPOTIFY_DEVICE_NAME=
```### Docker:
```env
# .env
DISCORD_TOKEN=
SPOTIFY_USERNAME=
SPOTIFY_PASSWORD=
DISCORD_USER_ID=
SPOTIFY_BOT_AUTOPLAY=
SPOTIFY_DEVICE_NAME=
``````bash
docker run --rm -d --env-file .env codetheweb/aoede
```### Prebuilt Binaries:
Prebuilt binaries are available on the [releases page](https://github.com/codetheweb/aoede/releases). Download the binary for your platform, then inside a terminal session:
1. There are two options to make configuration values available to Aoede:
1. Copy the `config.sample.toml` file to `config.toml` and update as necessary.
2. Use environment variables (see the Docker Compose section above):
- On Windows, you can use `setx DISCORD_TOKEN my-token`
- On Linux / macOS, you can use `export DISCORD_TOKEN=my-token`
2. Run the binary:
- For Linux / macOS, `./platform-latest-aoede` after navigating to the correct directory
- For Windows, execute `windows-latest-aoede.exe` after navigating to the correct directory### Building from source:
Requirements:
- automake
- autoconf
- cmake
- libtool
- Rust
- CargoRun `cargo build --release`. This will produce a binary in `target/release/aoede`. Set the required environment variables (see the Docker Compose section), then run the binary.