Aoede

Applications
Report Issue

Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself.

Contributors:
README

Aoede

Authors / Contributors

Their Github

Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself.

Server Ports

There are no ports required for the Aoede bot

Docker Images (1)
Name Image
ghcr.io/ptero-eggs/yolks:ubuntu ghcr.io/ptero-eggs/yolks:ubuntu
Startup Command
./aoede
Variables (6)

Token

Discord Bot Token

Environment:
DISCORD_TOKEN
Default:
None
User Viewable:
User Editable:
Rules:
required|string

Username

Spotify Username

Environment:
SPOTIFY_USERNAME
Default:
None
User Viewable:
User Editable:
Rules:
required|string

Password

Spotify Password

Environment:
SPOTIFY_PASSWORD
Default:
None
User Viewable:
User Editable:
Rules:
required|string

Discord User ID

Discord user ID of the user you want Aoede to follow

Environment:
DISCORD_USER_ID
Default:
None
User Viewable:
User Editable:
Rules:
required|string

Autoplay

Autoplay similar songs when your music ends Value : true/false

Environment:
SPOTIFY_BOT_AUTOPLAY
Default:
false
User Viewable:
User Editable:
Rules:
required|string|in:true,false

Version

Specify a version, for example: "v0.7.0" For the latest version, type "latest"

Environment:
VERSION
Default:
latest
User Viewable:
User Editable:
Rules:
required|string
Installation Script
Container: rust:1.74-slim
Entrypoint: bash
## Credits: Red-Thirten (https://github.com/lilkingjr1) for providing most of the installation script
## Credits to TubaApollo & QuintenQVD0 for the Muse egg that helped build most of this one
apt-get update
apt-get install git curl jq cmake -y -qq

GITHUB_PACKAGE="codetheweb/aoede"

# Find GitHub download URL for Muse for specified version
LATEST_JSON=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases")

if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
    DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')
else
    VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
    if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
        DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tarball_url')
    else
        echo -e "Could not find version \"${VERSION}\" of Muse. Defaulting to latest release..."
        DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')
    fi
fi

# Download Aoede from GitHub & Extract
cd /mnt/server
echo -e "Downloading Aoede from GitHub..."
curl -L ${DOWNLOAD_URL} -o aoede.tar.gz
echo -e "Extracting Aoede from tarball..."
tar -xvzf aoede.tar.gz --strip-components=1
rm aoede.tar.gz

# Verify and clean up Aoede installation
if [ ! -f Cargo.toml ]; then
    echo -e "\nFailed to download release: ${DOWNLOAD_URL}\n"
    exit 1
fi
rm -rf .dockerignore Dockerfile .gitignore .github/
cargo build --release
mv target/release/aoede .
cargo clean


echo -e "\nAoede Successfully Installed!"