Internet Explorer is not supported. Please upgrade to a more modern browser.
Modern Lavalink v4 music addon for CoreBot: radio & filters.
Requires
A drop-in music addon for the CoreBot Discord bot, rebuilt on modern Lavalink v4 / NodeLink.
The music addon, done right. A ground-up rebuild on lavalink-client (Lavalink v4), replacing the erela.js v3 engine so it plays nicely with modern Lavalink and NodeLink servers.
π΅ Full playback, a real queue, vote-skip, autoplay, audio filters, lyrics, personal playlists, and 24/7 radio, all driven by your own Lavalink node, no third-party music API required.
data/music/.β οΈ Self-hosting your Lavalink node is strongly recommended. Public Lavalink servers are a known source of playback issues: the bot can fetch the wrong track and play a different song than the one it shows as queued or now-playing, even while reporting the correct title. Running your own Lavalink v4 node avoids this.
Dead simple: it's just the addon, with no config file to place. Drop music.js into your CoreBot addons/ folder and you're set. The addon auto-generates its config on first run.
music.js in your CoreBot addons/ folder.configs/addons/music_config.yml automatically.[Music] connect to your node in the console.The addon writes configs/addons/music_config.yml on first run. These are the settings you'll want to review:
Settings.Lavalink.Node (host / port / password / secure).Settings.Spotify (enable + Client ID/Secret from developer.spotify.com/dashboard).Settings.Radio.Stations.Settings.Commands.Permissions.DefaultVolume, SearchingType (first / reaction / response), NowPlayingMessage, StopDelay.The addon creates configs/addons/music_config.yml on first run. Here's the full default (values shown are examples; set your own Lavalink node).
##############################
# #
# MUSIC #
# #
##############################
Settings:
Lavalink:
Node:
# Point this at your Lavalink v4 node (self-hosting strongly recommended - see note).
host: localhost
port: 2333
password: youshallnotpass
secure: false
Spotify:
Enabled: false
ClientID: PUT-CLIENT-ID-HERE
ClientSecret: PUT-CLIENT-SECRET-HERE
# Create a Spotify application @ https://developer.spotify.com/dashboard to get the ID and secret
StopDelay:
Enabled: true
# If the bot should wait x amount of seconds before checking
# if the voice channel is still empty when someone leaves.
# Primarly for accidently channel disconnecting/switching
Delay: 10
SearchingType: first
# Types: response (respond with corresponding number), reaction (react with corresponding number), first (automatically choose first result)
NowPlayingMessage: true
DefaultVolume: 5
Radio:
# 24/7 radio: "-radio start" plays the default; "-radio start <name>" plays a named station; "-radio start <url>" plays a custom stream.
Query: "" # default station (blank = require an inline query/name)
Stations:
example: "https://your-stream-url/stream.mp3"
VoiceChannel: "" # channel name or id to play in (blank = use the command user's channel)
TextChannel: "" # channel name or id for announcements (blank = use the command channel)
Commands:
Permissions:
play:
- "@everyone"
stop:
- "@everyone"
queue:
- "@everyone"
pause:
- "@everyone"
resume:
- "@everyone"
skip:
- "@everyone"
join:
- "@everyone"
musicemojis:
- Admin
Descriptions:
play: Play music in a voice channel
stop: Stop playing music
queue: View the list of queued songs
pause: Pause the currently playing song
resume: Resume the currently paused song
skip: Skip to the next song in the queue
join: Make the bot join your voice channel
Aliases:
play:
- p
stop:
- leave
- disconnect
queue:
- q
pause: []
resume: []
skip:
- next
join:
- connect
Language:
Errors:
NotInVoiceChannel: You must be in a voice channel to run this command
NotInSameVoiceChannel: You must be in the same voice channel as me to run this command
VideoNotFound: A song could not be found with that link or search query. Try a
different link or query
LinkUnavailable: "I couldn't load that link β it may be **private**,
age-restricted, region-locked, or deleted. Make sure it's public or unlisted,
then try again."
VideoCouldNotLoad: The song could not be loaded. Try again
CanceledSearch: Canceled music search
InvalidNumber: That is not a valid number. Please choose the number that
corresponds with the video.
BotNotInVoiceChannel: I am not in a voice channel
NotPlayingMusic: Music is currently not being played
AlreadyPaused: The music is already paused
NotPaused: The music is not paused
AlreadyInYourVoiceChannel: I am already in your voice channel
AlreadyInAnotherVoiceChannel: I am already in another voice channel
Words:
None: None
Livestream: livestream
Nothing: Nothing
Unknown: Unknown
NotIncludingLives: Not including livestreams
Nobody: Nobody
Page: Page
YouTube: YouTube
SoundCloud: SoundCloud
Spotify: Spotify
Twitch: Twitch
LoadingPlaylist: Loading playlist...
NowPlaying:
Author: "{platform-name}"
AuthorIcon: "{platform-icon}"
Title: πΆ Now Playing
Description: "[{song-title}]({song-link}) requested by {user-mention}"
Thumbnail: "{song-thumbnail}"
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
QueueEnded:
Title: βΉοΈ Queue Ended
Description: The music queue has been ended
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
Queue:
Title: π Music Queue
Description: |-
**Currently Playing:** [{song-title}]({song-link})
{queue}
**Total Queue Duration:** {duration}
Thumbnail: "{song-thumbnail}"
FooterIcon: "{bot-pfp}"
AddedPlaylistToQueue:
Title: β€΅οΈ Added Playlist To Queue
Description: Added playlist [{playlist-name}]({playlist-link}) to the queue
(**{playlist-length}** songs)
Thumbnail: "{playlist-thumbnail}"
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
AddedSongToQueue:
Title: β€΅οΈ Added To Queue
Description: Added [{song-title}]({song-link}) to the queue
Thumbnail: "{song-thumbnail}"
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
SearchResults:
Title: Search Results
Description: |-
Showing top 10 search results for `{search}`:
{results}
ResultsFormat: |-
**{position}.** [{song-title}]({song-link})
> By `{song-author}`
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
Connected:
Title: \π Connected
Description: Connected to the voice channel
Color: "#43fc32"
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
Disconnected:
Title: βΉοΈ Disconnected
Description: Disconnected from the voice channel
Color: "#f52c2c"
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
Paused:
Title: βΈοΈ Music Paused
Description: The song has been paused
Color: "#fca232"
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
Resumed:
Title: βΆοΈ Music Resumed
Description: The song has been resumed
Color: "#43fc32"
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
Skipped:
Title: βοΈ Song Skipped
Description: The song has been skipped
Timestamp: true
Footer: "{bot-username}"
FooterIcon: "{bot-pfp}"
Error:
Author: Uh oh!
Title: "{error-message}"
Color: "#f52c2c"
Timestamp: true
ErrorWithUsage:
Author: Uh oh!
Title: "{error-message}"
Description: "**Usage:** `{usage}`"
Color: "#f52c2c"
Timestamp: true
Uses your bot's configured prefix.
play, stop, pause, resume, skip, voteskipqueue, nowplaying (np), volume, seek, shuffle, skipto, removesong, clearqueuerepeat <song/queue/off>, autoplay, filter <bassboost/nightcore/vaporwave/karaoke/reset>lyrics, grab, radio start [name | url]v3.0.0 - Rebuilt on lavalink-client (Lavalink v4 / NodeLink) - Replaces the legacy erela.js v3 engine - Queue, vote-skip, autoplay, audio filters, lyrics, grab, playlists - 24/7 radio with named + custom stations - Optional Spotify resolving - Per-command role permissions via music_config.yml
A CoreBot addon by CruelWinter. Free to use.
No reviews