Skip to content
forked from jagrosh/MusicBot

🎶 A Discord music bot that's easy to set up and run yourself!

License

Notifications You must be signed in to change notification settings

chrisb09/MusicBot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This fork

Essentially, this is just a merge of three pull requests:

Support for logging into your (burner) youtube account:

PR-1670

To allow building the project from source

PR-1703

Add YouTube PO token & IP rotation

jagrosh#1772

And I've now bumped the versions up to the newest lavaplayer/lavalink versions. I will try to update this automatically in the future.

For PO_Tokens: In your bot folder, edit "config.txt" and add

ytpotoken = "PO_TOKEN_HERE"
ytvisitordata = "VISITOR_DATA_HERE"

To get po_token and visitor_data, use youtube-trusted-session-generator

If you have problems with this fork, you could also check out this other fork.

Easy deployment via docker

Additionally, i thought a corresponding docker image would make things better:

The image can be found on dockerhub

Docker-compose:

version: '2.2'

services:
  jmusicbot:
    image: chrisb09/jmusicbot:latest
    container_name: jmusicbot
    restart: unless-stopped
    volumes:
     - ./config:/jmb/config

although, obviously you should change ./config to whatever path is right for your setup. Source code for the docker image is also on Github.

YouTube-Login

Obviously you still need to log in if you want to use youtube properly, hence you need to enable this in the config. If you are using a pre-existing config, simply add:

/ If you set this to true, the bot will use a Google account to play YouTube tracks.
// This is only needed if you are experiencing issues with YouTube playback.
// Once enabled, instructions for login will be written to the console and DMs.
// DO NOT use your main Google account! Use an alternative account.

youtubeoauth2=true

If you start with a clean slate this line should already be present, albeit with false being the default. As the author of the PR reiterates multiple times, do not use your main google account as using your account for a bot is most certainly against the ToS and thus you are endangering said account.

To add the account you simply have to follow the very basic instructions printed either in the console or sent to you from the bot via discord after you have started it, open the linked google page and paste the code.

JMusicBot

Downloads Stars Release License Discord
CircleCI Build and Test CodeFactor

A cross-platform Discord music bot with a clean interface, and that is easy to set up and run yourself!

Setup

Features

  • Easy to run (just make sure Java is installed, and run!)
  • Fast loading of songs
  • No external keys needed (besides a Discord Bot token)
  • Smooth playback
  • Server-specific setup for the "DJ" role that can moderate the music
  • Clean and beautiful menus
  • Supports many sites, including Youtube, Soundcloud, and more
  • Supports many online radio/streams
  • Supports local files
  • Playlist support (both web/youtube, and local)

Supported sources and formats

JMusicBot supports all sources and formats supported by lavaplayer:

Sources

  • YouTube
  • SoundCloud
  • Bandcamp
  • Vimeo
  • Twitch streams
  • Local files
  • HTTP URLs

Formats

  • MP3
  • FLAC
  • WAV
  • Matroska/WebM (AAC, Opus or Vorbis codecs)
  • MP4/M4A (AAC codec)
  • OGG streams (Opus, Vorbis and FLAC codecs)
  • AAC streams
  • Stream playlists (M3U and PLS)

Example

Loading Example...

Setup

Please see the Setup Page to run this bot yourself!

Questions/Suggestions/Bug Reports

Please read the Issues List before suggesting a feature. If you have a question, need troubleshooting help, or want to brainstorm a new feature, please start a Discussion. If you'd like to suggest a feature or report a reproducible bug, please open an Issue on this repository. If you like this bot, be sure to add a star to the libraries that make this possible: JDA and lavaplayer!

Editing

This bot (and the source code here) might not be easy to edit for inexperienced programmers. The main purpose of having the source public is to show the capabilities of the libraries, to allow others to understand how the bot works, and to allow those knowledgeable about java, JDA, and Discord bot development to contribute. There are many requirements and dependencies required to edit and compile it, and there will not be support provided for people looking to make changes on their own. Instead, consider making a feature request (see the above section). If you choose to make edits, please do so in accordance with the Apache 2.0 License.

About

🎶 A Discord music bot that's easy to set up and run yourself!

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.7%
  • Shell 0.3%