Skip to content

Latest commit

 

History

History
108 lines (74 loc) · 3.42 KB

README.md

File metadata and controls

108 lines (74 loc) · 3.42 KB

music (formerly mikmusic)

Plugin providing full music functionality for the bot

Platform Support

  • All native Lavaplayer platforms
  • Spotify

Features

  • slash-commands for everything
  • Queue songs from context actions (Also supports Discord file uploads) (DEMO)
  • Music channel ( Like Hydra) (DEMO)
  • Bot internal playlist system (Supports import from other sources, just do /playlist add name: <name> query: <existing yt/spotify playlist>)
  • i18n
  • Ability to skip through YouTube Chapters with /next
  • Song guizes (Inspired by the AirConsole game MusicGuess) (now housed here)
  • Embed song cover color using image-color-service

Requirements

Adding this plugin adds the following requirements:

Required permissions: 328576854080

Configuration

This plugin adds the following new env variables.

// Used to fetch more information about YouTube video, like thumbnails and descriptions (for chapters)
YOUTUBE_API_KEY=<>

// Required for Spotify support
SPOTIFY_CLIENT_SECRET=<>
SPOTIFY_CLIENT_ID=<>

HAPPI_KEY=<token from happi.dev for lyrics>

IMAGE_COLOR_SERVICE_URL=<image color service url>

Development

You can install image-color-service for development via Crates.io.

cargo install image-color-service
image-color-service

Or use docker-compose in this directory:

docker-compose up -d

Plugins

If you want to deploy this Bot I recommend these plugins

DOWNLOAD_PLUGINS=gdpr,database-i18n,game-animator,music,music-quiz

I personally run my instance with these plugins

DOWNLOAD_PLUGINS=redeploy-hook,gdpr,database-i18n,game-animator,music,game-api,music-quiz,uno-game,ktor,verification-system,epic-games-notifier

For additional configuration please check redeploy-hook and verification-system

Setup

For a full Setup guide, if you don't know how to set up mikbot take a look at this and view the "Setting up Mikmusic" section of the document under the Optional Steps

Using this plugin requires additional first-time setup

Run this commands before running docker-compose up -d

  • Run docker-compose up -d mongo
  • Run docker-compose exec mongo mongo -u bot -p bot
  • Run this mongo shell commands
use bot_prod
db.createCollection("lavalink_servers")
db.lavalink_servers.insertOne({"url": "wss://...", "password": "<password>"})

Redeploy

This plugin supports a /redeploy command restarting player sessions after updating (click here for more)