A simple yet powerful Discord music bot built with the Lavalink client and Discord.js v14.
- βοΈ Built with Rainlink Lavalink client
- βοΈ Supports Lavalink v3 and v4
- βοΈ Slash command support
- βοΈ Prefix commands (dev-only)
- βοΈ Clean UI
- βοΈ Optimized performance
- βοΈ Beginner-friendly
- βοΈ And much more!
- βοΈ YouTube & YouTube Music
- βοΈ SoundCloud
- βοΈ Apple Music (LavaSrc Plugin Required)
- βοΈ Deezer (LavaSrc Plugin Required)
- βοΈ Spotify (LavaSrc Plugin Required)
- βοΈ And more!
- Discord Bot Token (Guide)
- Node.js
v18
or higher - MongoDB
v5.x
or higher (for local databases) - Lavalink (Guide)
- Java
v18
or higher (for Lavalink)
1. Clone the repository:
git clone https://github.com/adh319/Lunox.git
2.
Open the Lunox folder and install dependencies:
npm install
3.
Rename .env.example
to .env
and configure the environment variables:
#########################################
# FILL IN ALL DETAILS BELOW #
#########################################
# GENERAL CONFIGURATION
TOKEN = # Your bot token
PREFIX = ! # Bot prefix
EMBED_COLOR = 5865F2 # Embed color (hex format, without #)
LEAVE_TIMEOUT = 60000 # Time (in ms) before the bot leaves when alone/not playing
DEFAULT_VOLUME = 100 # Default volume when bot joins a voice channel
MIN_VOLUME = 1 # Minimum volume level
MAX_VOLUME = 100 # Maximum volume level
MONGO_URI = # Your MongoDB connection URI
GENIUS_API_KEY = # Your Genius API key
SUPPORT_SERVER_URL = "https://discord.gg/kNdSkHchzH" # Your Discord support server URL
# RAINLINK CONFIGURATION
LAVALINK_SOURCE = yt # Based on enabled sources in Lavalink config, see ./src/settings/config.js for more details
DEFAULT_SEARCH_ENGINE = youtubeMusic # Available options: youtubeMusic, youtube, soundcloud
SPOTIFY_CLIENT_ID = # Your Spotify Client ID
SPOTIFY_CLIENT_SECRET = # Your Spotify Client Secret
4.
Edit your Lavalink node settings & dev ID(s) in ./src/settings/config.js:
// line 8
dev: [""], // Your Discord user ID(s), e.g. ["123456789012345678"]
// line 32
rainlinkNodes: [
{
name: "Lunox",
host: "localhost",
port: 2333,
auth: "youshallnotpass",
secure: false,
driver: "lavalink/v4/koinu", // Driver depends on your Lavalink version
},
],
5.
Open ./src/settings/emoji.js
and configure custom emojis.
6.
Start the bot:
npm start
If you're using this source code and want your bot listed below, submit a pull request by editing the table with your details:
No. | Bot Name | Invite Link | Support Server |
---|---|---|---|
1 |
Jive | Invite Link | Jive Corner |
2 |
|||
3 |
|||
4 |
This project is licensed under the MIT License
. You are free to use and modify the code, but must include proper attribution:
Β© 2024 adh319@github. This project is available under the MIT License.
You must include proper attribution by linking to the original GitHub repository: https://github.com/adh319/Lunox.