Shard-ready Discord music bot powered by Rainlink, Lavalink, and Discord.js v14.
[![Version][version-shield]](version-url) [![MIT License][license-shield]][license-url] [![Contributors][contributors-shield]][contributors-url] [![Stargazers][stars-shield]][stars-url] [![Forks][forks-shield]][forks-url] [![Watchers][watchers-shield]][watchers-url] [![Issues][issues-shield]][issues-url] [![Node Version][node-shield]](#-requirements) [![Discord.js][discordjs-shield]](https://discord.js.org/#/docs/discord.js/main/general/welcome) [![Rainlink][rainlink-shield]](https://www.npmjs.com/package/rainlink)
π§ Table of Contentsπ’ Main FeaturesποΈ Command Overview/help, /ping/play, /queue, /skip, /previous, /pause, /resume, /stop, /seek, /remove, /clear, /shuffle, /loop, /filter, /volume, /join, /leave, /lyric/247 (stay in VC), /autoplayban, unban, maintenance, lavalinkπ΅ Supported Platformsπ Requirementsv18 or higherv5.x or higher (for local databases)v18 or higher (for Lavalink)π Configuration & Installation1. 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 find Lunox useful, consider supporting continued development:
π€ Bots Using This Source CodeIf 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 |
Β | Β | Β |
π LicenseThis 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