Shard-ready Discord music bot powered by Rainlink, Lavalink, and Discord.js v14.
- Main Features
- Command Overview
- Supported Platforms
- Requirements
- Configuration & Installation
- Support the Project
- Bots Using This Source Code
- License
- Contributors
- βοΈ Rainlink-powered Lavalink client with v3/v4 drivers and voice-specific plugin out of the box
- βοΈ Full Discord.js v14 slash command set plus dev-only prefix commands for ops/maintenance
- βοΈ Interactive Now Playing controller (pause/resume, volume up/down, loop, shuffle, previous, skip, stop)
- βοΈ Rich music controls: play/playlist, queue paging, loop (song/queue/off), seek, skip, previous, remove, clear, shuffle, volume bounds
- βοΈ Audio extras: 8D/bass/nightcore/vaporwave and more filters; autoplay (YouTube) and 24/7 stay-in-voice toggle
- βοΈ Resilient UX: inactivity auto-leave with configurable timeout, reconnect/keep-alive mode, anti-crash listeners, maintenance lock, per-user bans
- βοΈ Mongo-backed guild/user state (reconnect targets, bans) with periodic sync to the database
- βοΈ Ready-to-configure embeds/emojis, Genius lyrics lookup, and minimal onboarding defaults
- General:
/help,/ping - Music:
/play,/queue,/skip,/previous,/pause,/resume,/stop,/seek,/remove,/clear,/shuffle,/loop,/filter,/volume,/join,/leave,/lyric - Settings:
/247(stay in VC),/autoplay - Dev (prefix, gated):
ban,unban,maintenance,lavalink
- βοΈ 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
v18or higher - MongoDB
v5.xor higher (for local databases) - Lavalink (Guide)
- Java
v18or higher (for Lavalink)
1. Clone the repository:
git clone https://github.com/adh319/Lunox.git2. 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 find Lunox useful, consider supporting continued development:
- GitHub Sponsors β https://github.com/sponsors/adh319
- PayPal β https://paypal.me/LunoxBot
- Ko-fi β https://ko-fi.com/lunoxbot
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 |
Xyvo | Invite Link | Xyvo |
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.