Giter Club home page Giter Club logo

lilianne's Introduction

Lilianne

Lilianne is a Discord bot that plays music over voice chat.

UI Example

Each user in the voice channel can queue up songs they want to play. Lilianne will choose who gets their song played based on the order in which users joined the music channel. This way, everyone gets a turn to play their music!

At the moment, Lilianne supports the following services:

  • YouTube
  • SoundCloud

After retrieving the songs, Lilianne will perform additional processing such as volume normalization.

Check the roadmap for a look at what's coming in the future.

Requirements

You will need:

  • Node.js
  • ffmpeg
  • a Redis server
  • a Discord app with an associated bot user
  • a Discord server with a chat channel and a voice channel for music, with the bot on the server

Installation

First, if you have Git installed, run:

git clone https://github.com/meishuu/lilianne.git

Otherwise, you can download the latest source from GitHub and unzip it anywhere convenient.

Next,

cd path/to/lilianne
npm install

Configuration

You will need to set up a configuration file as a JSON file. For a list of possible options, please see the ConfigOptions interface in src/index.ts.

Note that any fields without a question mark ? after the field name are required. This means your config file must have, at minimum:

{
  "discord": {
    "oauth2": {
      "client_id": "...",
      "client_secret": "..."
    },
    "bot": {
      "token": "...",
      "server_id": "...",
      "text_channel": "...",
      "voice_channel": "..."
    },
  },
  "radio": {
    "cache": "..."
  },
  "web": {
    "url": "..."
  }
}

You can get discord.oauth2.client_id, discord.oauth2.client_secret, and discord.bot.token from your Discord app's information page. There, you should add a Redirect URI that points to web.url with /auth appended to the path.

discord.bot.server_id, discord.bot.text_channel, and discord.bot.voice_channel can be determined from within Discord by going to Settings, Appearance, Advanced and turning on "Developer Mode", then right-clicking on the server or channels and clicking "Copy ID". Use these for the config values.

radio.cache points to the directory in which to store cached songs. An absolute path is preferred but not required.

Usage

For development:

node path/to/lilianne/lib path/to/config.json

This supports hot module reloading for React components. If any web client code changes, the page will be updated accordingly.

For production:

npm run build
NODE_ENV=production node path/to/lilianne/lib path/to/config.json

lilianne's People

Contributors

meishuu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.