Music bot for discord. Made with Lavalink, Wavelink 3.0 and plugins: Lavasrc, Youtube-source
- Youtube search as main music source, also supports vk music, yandex music, spotify, twitch and basically everything that Lavasrc had implemented (including any audio files and some audio streams)
- Fully functional music player in discord
- Openai image and chat requests. Can chage API endpoint to use different provider
- Gelbooru api requests
- Saucenao api requests
- Flowery TTS api requests
- Reaction roles
- Custom server-personalized equalizer settings for the player
- Scripts to launch all this stuff automatically for windows and linux. Will add better deploy some time later
- Java Runtime Enviroment 17 or newer
- Python 3
- wget on linux or curl on windows (should be preinstalled already)
- Change variables in the
.env
file. Bare minimum is onlyDISCORD_API_TOKEN
. If you don't want anything else, you can leave it untouched. You can get most of these keys somewhere at the provider site, openai.com for example. If you wantYANDEX_MUSIC_TOKEN
or spotify stuff, go to the Lavasrc github page. VK token is here - In
settings.py
change values of theENABLED_COMMANDS
variable. Enable only that commands that you will use. It also makes sense to disable commands that requires some api keys that you didn't set up in the.env
- Launch
setup_and_launch
file (bat/sh) depending on your os (this activates new python venv too) - Wait some time before bot will sync all commands and launch. Alternatively, you can launch bot with
python main.py
and Lavalink withJava -jar Lavalink.jar
If you want to use Youtube or Spotify sources then you need to choose between one of the two available options:
- Will work for a long time but may be bad with a high traffic.
- Can get your account terminated! Use only with burner please
To use it, just launch lavalink one time (
setup_and_launch
orlaunch_lavalink
) and then see Lavalink logs (current log is in theLavalink/logs/spring.log
file). There will be a link. Just auth with your google account and paste your refresh token in the.env
whereYOUTUBE_REFRESH_TOKEN
is and then restart lavalink (kill_lavalink
for example). Done. See more here
- No need for any accounts
- Could be annoying to maintain, one token works for around 12 hours
- Works only with WEB and WEBEMBEDDED clients
See This Page for instructions. Right now there is no automatic support for it in this bot, but you can do it yourself