Skip to content

tedle/uitabot

Repository files navigation

uitabot

ci badge

uitabot is a Discord music bot that can be controlled both via chat commands and a real time web client. For a list of available chat commands see COMMANDS.md.

uitabot showcase

Demo

You can try a publically hosted instance of uitabot on a trial basis. This public bot will automatically leave your server after a short while. If you want a permanent bot, keep reading for instructions on how to install your own instance.

Invite trial uitabot

Requirements

Linux Installation from Source

Setup

# Tested on Ubuntu 18.04
sudo apt-get install git python3 python3-dev libffi-dev ffmpeg npm
git clone https://github.com/tedle/uitabot.git
cd uitabot/bot
python3 -m pip install -r requirements.txt
cd ../web-client
npm install

Configuration

Make a copy of the config.example.json in the root folder.

cp config.example.json config.json

Edit the new config.json file and fill in all the variables as needed. Documentation for every option can be found in CONFIG.md.

Next, in the Discord API bot settings, enable the Server Members Intent. This is necessary for the web front end to verify users as having access to a given server. If you are not using the web front end then this can be left disabled.

Finally, make sure the client URL that is being used is whitelisted in the Discord API OAuth settings for redirects.

Building

Backend

cd bot
python3 uitabot.py

Frontend (development)

cd web-client
npm run dev

This will run a local web server that supports hot-reloading for development.

Frontend (production)

cd web-client
npm run build

This will output static asset files to the web-client/build folder that can then be served from any generic web server.

Binary Installation

Not supported.

License

ISC License