https://github.com/atifahmed9461/lavasic
A feature-rich, customizable Discord music bot built with Node.js and discord.js. Supports YouTube, Spotify, and more, with advanced queue and playback controls, admin features, and easy configuration. Uses Lavalink with advanced plugins for high-quality audio streaming.
https://github.com/atifahmed9461/lavasic
audio-streaming bot-features customizable-bot discord discord-bot discordjs lavalink music-bot nodejs open-source playback-controls queue-system spotify youtube
Last synced: 3 months ago
JSON representation
A feature-rich, customizable Discord music bot built with Node.js and discord.js. Supports YouTube, Spotify, and more, with advanced queue and playback controls, admin features, and easy configuration. Uses Lavalink with advanced plugins for high-quality audio streaming.
- Host: GitHub
- URL: https://github.com/atifahmed9461/lavasic
- Owner: atifahmed9461
- Created: 2025-06-29T15:56:22.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-07-02T08:17:43.000Z (3 months ago)
- Last Synced: 2025-07-03T08:31:29.518Z (3 months ago)
- Topics: audio-streaming, bot-features, customizable-bot, discord, discord-bot, discordjs, lavalink, music-bot, nodejs, open-source, playback-controls, queue-system, spotify, youtube
- Language: JavaScript
- Homepage:
- Size: 15.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Lavasic

A feature-rich, customizable Discord music bot built with Node.js and discord.js. Supports YouTube, Spotify, and more, with advanced queue and playback controls, admin features, and easy configuration. **Uses Lavalink with advanced plugins for high-quality audio streaming.**
## Features
- đĩ **Music Playback:** Play, pause, resume, skip, stop, seek, replay, previous, clear queue, and volume control
- đ **Loop & Filters:** Loop tracks/queue, apply audio filters
- đ **Queue Management:** View, manage, and clear the music queue
- âšī¸ **Information:** Now playing, help, ping, uptime
- âī¸ **Settings:** Change bot prefix, reset prefix
- đ **Admin:** Manage custom playlists (add, list, remove)
- đ§ **Spotify Integration:** Play tracks from Spotify (requires credentials)
- đī¸ **SQLite Database:** Persistent storage for settings and sessions
- đ ī¸ **Custom Emoji:** Rich emoji feedback for all actions
- đ **Advanced Lavalink Support:** High-quality audio streaming with LavaSrc and YouTube plugins
- đŧ **Lyrics Support:** Automatic lyrics fetching from Spotify and YouTube
- đ **Multi-Source Search:** Fallback search across multiple platforms## Required Lavalink Plugins
This bot requires two essential Lavalink plugins for full functionality:
### 1. LavaSrc Plugin
- **Dependency**: `com.github.topi314.lavasrc:lavasrc-plugin:4.7.2`
- **Purpose**: Enhanced Spotify integration with lyrics support
- **Features**: Better track resolution, lyrics fetching, multi-source search### 2. YouTube Plugin
- **Dependency**: `dev.lavalink.youtube:youtube-plugin:1.13.3`
- **Purpose**: Better YouTube support with multiple client types
- **Features**: Enhanced search, direct video/playlist support, better compatibilityBoth plugins are automatically downloaded when you run Lavalink with the provided configuration.
## Getting Started
### Prerequisites
- Node.js v16+
- A Discord bot token ([guide](https://discord.com/developers/applications))
- **Lavalink Server** (see setup below)### Lavalink Setup
#### Option 1: Use a Local Lavalink Server
You can use a local Lavalink server. Add these to your `.env` file:
```env
LAVALINK_HOST=localhost
LAVALINK_PORT=2333
LAVALINK_PASSWORD=your_password_here
LAVALINK_SECURE=false
```#### Option 2: Self-Host Lavalink (Recommended)
1. **Download Lavalink:**
```bash
wget https://github.com/lavalink-devs/Lavalink/releases/download/4.0.0/Lavalink.jar
```2. **Create application.yml:**
See [`LAVALINK_SETUP.md`](https://github.com/atifahmed9461/Lavasic/blob/main/LAVALINK_SETUP.md) for the complete advanced configuration with plugins.3. **Run Lavalink:**
```bash
java -jar Lavalink.jar
```### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/atifahmed9461/Lavasic.git
cd Lavasic
```
2. **Install dependencies:**
```bash
npm install
```
3. **Set up environment variables:**
Create a `.env` file in the root directory with the following:
```env
TOKEN=your_discord_bot_token
PREFIX=!
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
# Lavalink Configuration
LAVALINK_HOST=localhost
LAVALINK_PORT=2333
LAVALINK_PASSWORD=your_password_here
LAVALINK_SECURE=false
```
*(Spotify credentials are optional but recommended for full functionality)*4. **Configure the bot:**
Edit `settings/config.js` to customize bot settings, status, owner ID, and more.### Running the Bot
- **Production:**
```bash
npm start
```
- **Development (with auto-reload):**
```bash
npm run dev
```## Command Categories
- **Music:** play, stop, pause, resume, skip, queue, loop, filters, nowplaying, seek, replay, previous, clearqueue, volume
- **Information:** help, ping, uptime
- **Admin:** npadd, nplist, npremove
- **Settings:** setprefix, resetprefix## File Structure
```
Lavasic/
commands/
message/
Admin/ # Playlist management
Information/ # Bot info commands
Music/ # Music playback & queue
Settings/ # Prefix and config
database/ # SQLite DB files
events/ # Event handlers
fonts/ # Font files
settings/ # Config, emoji, node
utils/ # Utility modules
index.js # Main entry point
```## Lavalink Benefits
- **Better Audio Quality:** Higher bitrate and better codec support
- **Reduced CPU Usage:** Audio processing handled by Lavalink server
- **More Sources:** Support for YouTube, Spotify, SoundCloud, Bandcamp, Twitch, Vimeo, Nico
- **Advanced Features:** Audio filters, equalizer, lyrics support, and more
- **Plugin Support:** LavaSrc for enhanced Spotify integration, YouTube plugin for better search
- **Scalability:** Can handle multiple bots and servers
- **Multi-Source Search:** Intelligent fallback across different platforms## Advanced Features
- **LavaSrc Plugin:** Enhanced Spotify integration with lyrics and better search
- **YouTube Plugin:** Improved YouTube support with multiple client types
- **Lyrics Support:** Automatic lyrics fetching from Spotify and YouTube
- **High-Quality Audio:** Optimized Opus encoding and buffer settings
- **Comprehensive Logging:** File-based logging with rotation## Troubleshooting
- **Lavalink Connection Issues:** Check if your Lavalink server is running and credentials are correct
- **Plugin Loading Issues:** Ensure Java 17+ and internet connection for plugin downloads
- **Audio Quality:** Ensure you're using a good Lavalink server with proper bandwidth
- **Spotify Issues:** Verify your Spotify API credentials in the `.env` file
- **Memory Issues:** Allocate at least 2GB RAM for Lavalink with plugins## Support Server
Join our Discord for help and community support: [https://discord.gg/tsbBKz2k53](https://discord.gg/tsbBKz2k53)## Creator
Created by **Atif Ahmed đ¤**## Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.## License
[ISC](LICENSE)---
*Made with â¤ī¸ for Discord communities.*