Skip to content
This repository has been archived by the owner on Mar 5, 2023. It is now read-only.

xNykram/MusicBot

Repository files navigation

Docker TypeScript Postgres

maintenance PyPI license Discord Generic badge


A discord music bot which plays songs from steraming platforms ex. YouTube. MusicBot was designed to bring more activity to your server, while keeping control over it all with a simple web interface and advanced, but elegant moderation features.

Features

  • Fast loading of songs

  • Various useful commands

  • Integration with database

  • No external keys needed

  • Playlist support

Commands

  • !help - Shows command list.

  • !join - Makes bot join yours voice channel.

  • !leave - Forces bot to leave voice channel.

  • !play - Search and plays given song.

  • !stop - Forces bot to stop playing music and leave.

  • !skip- Skips given amount of songs.

  • !queue - Shows tracks queue.

  • !shuffle - Mixes up the current queue.

  • !search - Search for a given title.

  • !changelog - Display a list of the latest changes.

  • !remove- Removes given position(s) from the queue.

  • !loop - Loops current queue given amount of times.

  • !status- Shows debug information (for developers).

  • !top - Shows best three songs on the current server.

  • !top global - Shows best three songs on all servers.

  • !favourites [add]/[remove]/[play] - List of favourite songs. Allows you to add or remove a song from your favourites list. You can also add all songs from your favourites list to the queue.

Setup

  • Install Docker Engine.

  • Run git clone https://github.com/WebSoftDevs/MusicBot.git

  • Create .env file in root directory:

# .env
MB_PREFIX='!' # Prefix used to invoke commands.
MB_TOKEN='' # API Discord Key
MB_DEBUG_TOKEN='' # API Discord Key used for debugging bot
PGHOST=sql1 # Container name
PGUSER=yoursUser
PGPASSWORD=yoursPassword
PGDATABASE=yoursDbName
SPOTIFY_ACCESS_TOKEN=''
  • Match credentials in .env file with credentials in docker-compose-local.yml file.

  • Run below commands:

    docker build .

    docker-compose -f docker-compose-local.yml up