No description
Find a file
Roshless f43c21103d
All checks were successful
/ build (push) Successful in 1m4s
/ push (push) Successful in 1m14s
fix CI again
2025-12-04 20:05:43 +01:00
.forgejo/workflows fix CI again 2025-12-04 20:05:43 +01:00
bot local storage: unify messages, check for folder and general cleanup 2023-10-07 22:50:48 +02:00
commands local storage: unify messages, check for folder and general cleanup 2023-10-07 22:50:48 +02:00
interfaces dependencies renames to keep up to date 2019-05-03 23:29:15 +02:00
models local storage: fixes and improvements 2023-10-05 23:40:16 +02:00
services local storage: unify messages, check for folder and general cleanup 2023-10-07 22:50:48 +02:00
.gitignore misc: remove development stuff from repository 2019-09-18 17:03:36 +02:00
config.yaml local storage: unify messages, check for folder and general cleanup 2023-10-07 22:50:48 +02:00
CONTRIBUTING.md update contributing doc 2023-10-07 21:24:23 +02:00
Dockerfile fix Dockerfile- missing openssl and optional aria2 2023-10-07 22:16:15 +02:00
go.mod go mod tidy 2023-10-07 21:32:17 +02:00
go.sum go mod tidy 2023-10-07 21:32:17 +02:00
LICENSE fix deprecations and compiler warnings 2023-09-30 17:16:55 +02:00
main.go cli: load config also from env var 2023-10-07 18:31:36 +02:00
README.md readme: update yt-dlp link 2023-10-07 20:29:26 +02:00

MumbleDJ

A Mumble bot that plays audio fetched from various media websites.

Non-dead fork of matthieugrieger's mumbledj

Features

  • Plays audio from many media websites, including YouTube, SoundCloud, and Mixcloud.
  • Can also download from YouTube and play audio locally (disabled by default).
  • Supports playlists and individual videos/tracks.
  • Displays metadata in the text chat whenever a new track starts playing.
  • A large array of commands that perform a wide variety of functions.
  • Supports local storage playback with custom tags, based on youtube downloads.
  • Built-in vote-skipping.
  • Built-in caching system (disabled by default).
  • Built-in play/pause/volume control.

Requirements

  • yt-dlp
  • ffmpeg
  • aria2 if you plan on using services that throttle download speeds (like Mixcloud)

uMurmur servers are not supported due to bandwith limits.

YouTube API Key

A YouTube API key must be present in your configuration file in order to use the YouTube service within the bot. Below is a guide for retrieving an API key:

1) Navigate to the Google Developers Console and sign in with your Google account, or create one if you haven't already.

2) Click the "Create Project" button and give your project a name. It doesn't matter what you set your project name to. Once you have a name click the "Create" button. You should be redirected to your new project once it's ready.

3) Click on "APIs & auth" on the sidebar, and then click APIs. Under the "YouTube APIs" header, click "YouTube Data API". Click on the "Enable API" button.

4) Click on the "Credentials" option underneath "APIs & auth" on the sidebar. Underneath "Public API access" click on "Create New Key". Choose the "Server key" option.

5) Add the IP address of the machine MumbleDJ will run on in the box that appears (this is optional, but improves security). Click "Create".

6) You should now see that an API key has been generated. Copy/paste this API key into the configuration file located at $HOME/.config/mumbledj/mumbledj.yaml.

SoundCloud API Key

A SoundCloud client ID must be present in your configuration file in order to use the SoundCloud service within the bot. Below is a guide for retrieving a client ID:

1) Login/sign up for a SoundCloud account on https://soundcloud.com.

2) Create a new app: https://soundcloud.com/you/apps/new.

3) You should now see that a client ID has been generated. Copy/paste this ID (NOT the client secret) into the configuration file located at $HOME/.config/mumbledj/mumbledj.yaml.

Installation- containers

The only supported way to run this bot is via Kubernetes or Docker/Podman.

You can find working K8S config inside This repo

Buidling your own image

First you need to clone the MumbleDJ repository to your machine:

git clone https://git.roshless.me/roshless/mumbledj

Then build the image:

docker build -t mumbledj .

Using prebuild images

You can also use images automaticcly build from this repository:

registry.roshless.me/roshless/mumbledj

Supported tags are:

  • latest- development version
  • datetime based e.g. 202310052015- development version that will not change (until it is deleted)
  • stable- last stable release
  • versioned stable- e.g. v4.0.0