Mumble music bot with a web interface. Supports Youtube and radio stations.
This project is still under development and has some major missing features. See TODO for more information about missing and planned features and known bugs. If you find any new bugs or have new feature ideas feel free to open an issue!
Youtube search support with playlist actions |
Multiple color themes and languages |
The following commands are currently available and can be used through the Mumble client:
Command | Description |
---|---|
hande www |
Generates a link to the web interface |
hande help |
Shows a list of available commands |
Before running the bot, you need to have the following dependencies met:
- Youtube Data API key
yt-dlp
andffmpeg
installed
After the dependencies, run the following commands:
git clone https://github.com/miksuh-dev/hande
cd hande && npm install
cd client && npm install
Run the following commands in seperate terminals:
npm run client
npm run server
npm run build
npm run start:prod
Copy .env.example
to .env
and fill in the values. The following variables are supported.
Variable: | Details: |
---|---|
PORT |
Target port where the bot will be running |
DATABASE_URL |
Location where the database is stored. The bot currently uses SQLite to store playlists |
AUTH_TOKEN_SECRET |
Add lengthy random secret used for JWT token |
MUMBLE_ADDRESS |
Target mumble server address |
MUMBLE_PORT |
Target mumble server port |
MUMBLE_PASSWORD |
Target mumble server password |
MUMBLE_USERNAME |
Username that the bot will be using |
TOKEN_URL |
Target URL that bot will be using when generating web-interface auth URL |
YOUTUBE_API_KEY |
Bot uses youtube data API to fetch search results, obtain your api key here |
YOUTUBE_DL_LOCATION |
Bot uses yt-dlp to stream videos on youtube. |
RADIO_SEARCH_URL |
Bot searches radio stations from radio-browser.info. Insert desired API endpoint URL here |
GENIUS_ACCESS_TOKEN |
Bot uses Genius data API to fetch lyrics for songs, obtain your api key here |
SERVER_LANGUAGE |
Currently supported languages are: en (English) and fi (Finnish) |
CHAT_MESSAGE_LIMIT |
Maximum number of chat messages stored on exit and sent visible to user |