• Stars
    star
    285
  • Rank 145,115 (Top 3 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 3 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🎧 a self-hosted Spotify → Discord music bot

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.

Demo

💼 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
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

Docker:

# .env
DISCORD_TOKEN=
SPOTIFY_USERNAME=
SPOTIFY_PASSWORD=
DISCORD_USER_ID=
docker run --rm -d --env-file .env codetheweb/aoede

Prebuilt Binaries:

Prebuilt binaries are available on the releases page. 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
  • Cargo

Run 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.

More Repositories

1

tuyapi

🌧 An easy-to-use API for devices that use Tuya's cloud services. Documentation: https://codetheweb.github.io/tuyapi.
JavaScript
2,054
star
2

muse

🎧 a self-hosted midwestern Discord music bot that doesn't suck
TypeScript
782
star
3

anylist

📋 a wrapper for AnyList's API (unoffical, reverse engineered)
JavaScript
85
star
4

dialogflow-to-discord

Easily add Discord bot integration to your Dialogflow project
JavaScript
18
star
5

placed

a viewer for /r/place
Rust
17
star
6

serverless-step-functions-local

Run AWS step functions offline with Serverless
JavaScript
16
star
7

homebridge-tuya-outlet

A plugin for Homebridge for Tuya-based outlets
JavaScript
15
star
8

MMM-AnyList

Magic Mirror module to display AnyList data
JavaScript
11
star
9

literature-clock

Returns a random quote containing the passed time.
JavaScript
6
star
10

Pigeon

Web interface for GRIP
JavaScript
3
star
11

mtu-webcams

📷 🚨 an easy-to-use API for downloading and streaming from public Michigan Tech webcams
JavaScript
3
star
12

librespot-node

Rust
3
star
13

portfolio

🎨 source for maxisom.me
TypeScript
3
star
14

Spong

🍴+ 🥄 + 🎵 App to show the currently playing song on Spotify. Made for big displays at parties and events.
JavaScript
2
star
15

stepfunctions-localhost

JavaScript
1
star
16

ifttt-bluetooth-proximity

A script to add Bluetooth proximity detection to IFTTT flows
JavaScript
1
star
17

buzzzer

A web buzzer (for Jeopardy, etc.). Made for Wonderhack 2019.
CSS
1
star
18

relacation

Quick demo to show seeding of the Math.random() function with a user's location
HTML
1
star
19

tothemoonbitcoin

🚀 to the 🌔!
CSS
1
star
20

substr-occurrence

A small library that counts the number of occurrences of a substring
JavaScript
1
star
21

homebridge-yamaha-scene

Turns on and off a Yamaha AV receiver and set it to a scene
JavaScript
1
star
22

codetheweb

1
star
23

dominos-api

🍕
JavaScript
1
star
24

nodesplash

🌊 port of qdm12/gosplash to TypeScript
TypeScript
1
star
25

Tradmill

A new & fresh wireless treadmill controller
CSS
1
star
26

gh-action-issue-parser

⚙️ action that runs issue-parser and provides the output
TypeScript
1
star
27

palmdoc-compression

Fast & safe implementation of Kindle/PalmDoc flavored LZ77
Rust
1
star