Skip to content

miksuh-dev/hande

Repository files navigation

Hande

Mumble music bot with a web interface. Supports Youtube and radio stations.

Under development

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!

Screenshots

youtube
Youtube search support with playlist actions
themes and languages
Multiple color themes and languages

Available commands

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

Dependencies

Before running the bot, you need to have the following dependencies met:

Installation

After the dependencies, run the following commands:

git clone https://github.com/miksuh-dev/hande
cd hande && npm install
cd client && npm install

Starting the bot

Development

Run the following commands in seperate terminals:

npm run client
npm run server

Production

npm run build
npm run start:prod

Configuration

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