A powerful, feature-rich Discord music bot built with Seyfert and lavalink-client
Enjoy seamless music streaming, advanced queue management, custom playlists, and more—all for free!
| 🎶 Music | 🎛️ Management | 🔧 System |
|---|---|---|
| High-quality playback | Queue management | DJ & Premium system |
| Multiple sources | Custom playlists | Statistics & Charts |
| 24/7 Mode | Loop & Shuffle | Multi-language support |
- 🎧 High-quality music playback from YouTube, Spotify, SoundCloud, and more
- 🔄 Advanced queue management - add, remove, sort, and manage songs
- 📝 Custom playlists - save and organize your favorite tracks
- 🔁 Loop modes - track, queue, and autoplay support
- 🎚️ Volume control with individual user preferences
- ⏭️ Skip, pause, resume with voting system
- 🔀 Shuffle and seek functionality
- 📊 Real-time player updates and now playing display
- 👑 DJ & Premium system - control access and unlock features
- 📈 Statistics & Top Charts - view song stats and top users
- 💬 Dual command support - slash commands (
/) and custom prefix - 🌍 Multi-language support - English default, easily extendable
- 🗳️ Top.gg integration - vote for extra features
| Requirement | Version | Download |
|---|---|---|
| Bun | Latest | Download |
| Discord Bot | - | Create Bot |
| Turso Database | - | Get Database |
-
📦 Clone the Repository
git clone https://github.com/idMJA/Soundy.git cd Soundy -
⬇️ Install Dependencies
bun install
-
💾 Setup Database (Turso)
📌 Important: You need to set up a Turso database first before configuring the bot.
- Go to turso.tech
- Click "Sign up" and create your account
- Verify your email if required
- After logging in, click "Create Database"
- Choose a name for your database (e.g.,
soundy-db) - Select your preferred region
- Click "Create"
- In your database dashboard, click on your newly created database
- Navigate to the "Overview" tab
- Copy the Database URL (starts with
libsql://) - Go to "Settings" tab
- Click "Create Token" to generate a new auth token
- Copy the generated token (this is your
DATABASE_PASSWORD)
DATABASE_URL=libsql://your-database-name.turso.io DATABASE_PASSWORD=your-auth-token-here -
⚙️ Configure Environment Variables
Rename
.env.exampleto.envand fill out the variables:# Discord Bot Configuration TOKEN=your_discord_bot_token_here # Turso Database Configuration DATABASE_URL=libsql://your-database-name.turso.io DATABASE_PASSWORD=your-turso-auth-token # Last.fm API (Optional - for lyrics and music data) LASTFM_API_KEY=your_lastfm_api_key # You can add multiple keys separated by commas for load balancing
-
🔒 Encrypt environment & initialize database
After you fill in
.env, run the following commands to encrypt environment variables (recommended for production) and apply the database schema to Turso:# encrypt environment variables (optional but recommended) bun encrypt # push local database schema to the remote Turso database bun db:push
Running these ensures secrets are handled securely and the remote database is prepared before starting the bot.
-
🔧 Configure Bot Settings
a. Update
src/config/config.tswith your bot configurationb. Configure Lavalink nodes in
src/config/nodes.tsc. Set up custom emojis in
src/config/emoji.ts -
🚀 Start the Bot
bun start
| Setting | Default | Description |
|---|---|---|
| Prefix | ! |
Can be changed per server via prefix command |
| 24/7 Mode | Disabled | Bot stays in voice channel continuously |
| Voice Status | Enabled | Updates voice channel status with current song |
| Premium | - | Additional features for premium users |
Advanced music player with queue management and controls
Real-time now playing information with interactive controls
Comprehensive help system with command categories
Live lyrics with synchronized scrolling and karaoke-style highlights
| Avatar | Contributor | Role |
|---|---|---|
![]() |
iaMJ | 🎯 Creator of Soundy |
![]() |
kydo | 🐛 Bug Hunter |
| 🎵 | Lavamusic | 💡 Inspiration & Ideas |
| ⭐ | stelle-music | 🔧 Code Adaptation |
We welcome contributions! Here's how you can help:
| 🍴 Fork | 🌿 Branch | 🔧 Code | 📝 PR |
|---|---|---|---|
| Fork the repo | Create feature branch | Make your changes | Submit pull request |
- Fork the repository and create your branch from
master - Test your changes thoroughly
- Follow the existing code style and conventions
- Write clear commit messages
- Submit a pull request with a detailed description
Report it here with detailed steps to reproduce.
Need Help? Join Our Community!
This project is licensed under the GNU Affero General Public License v3.0
Copyright © 2025 Tronix Development. All rights reserved.
For commercial use, contact Tronix Development
Made with ❤️ by the Tronix Development Team

