Skip to content
/ Lunox Public template

A simple yet powerful Discord music bot using the Lavalink client (Rainlink) and Discord.js v14.

License

Notifications You must be signed in to change notification settings

adh319/Lunox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Shard-ready Discord music bot powered by Rainlink, Lavalink, and Discord.js v14.

Version MIT License Contributors Stargazers Forks Watchers Issues Node Version Discord.js Rainlink

🧭 Table of Contents


πŸ“’ Main Features

  • β˜‘οΈ 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

πŸŽ›οΈ Command Overview

  • 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

🎡 Supported Platforms


πŸ“Œ Requirements

  • 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)

πŸš€ Configuration & Installation

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

πŸ’– Support the Project

If you find Lunox useful, consider supporting continued development:

GitHub Sponsors PayPal Ko-fi

πŸ€– Bots Using This Source Code

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

πŸ” License

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.

πŸ‘₯ Contributors

Releases

No releases published

Packages

No packages published

Contributors 15