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
- βοΈ SoundCloud
- βοΈ YouTube & YouTube Music (Youtube Plugin Required)
- βοΈ 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
v17or 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 |
Jive bot source code is now available for purchase! If you're interested in obtaining the source code for Jive, which is more powerful with better features and code structure, please visit the Enour Dev Discord server for more details.
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.