Skip to content
/ Soundy Public

A powerful music bot built with Seyfert and lavalink-client to play high quality music in your Discord server for free.

License

Notifications You must be signed in to change notification settings

idMJA/Soundy

Repository files navigation

🎡 Soundy

Discord Bot Bun TypeScript Turso License

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!

πŸš€ Invite Bot β€’ πŸ”₯ Vote Bot β€’ πŸ’¬ Support Server


✨ Features

🎢 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

🎡 Music Features

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

πŸŽ›οΈ Control Features

  • 🎚️ Volume control with individual user preferences
  • ⏭️ Skip, pause, resume with voting system
  • πŸ”€ Shuffle and seek functionality
  • πŸ“Š Real-time player updates and now playing display

πŸ”§ System Features

  • πŸ‘‘ 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

πŸš€ Quick Start

πŸ“‹ Prerequisites

Requirement Version Download
Bun Latest Download
Discord Bot - Create Bot
Turso Database - Get Database

πŸ› οΈ Installation

  1. πŸ“¦ Clone the Repository

    git clone https://github.com/idMJA/Soundy.git
    cd Soundy
  2. ⬇️ Install Dependencies

    bun install
  3. πŸ’Ύ Setup Database (Turso)

    πŸ“Œ Important: You need to set up a Turso database first before configuring the bot.

    πŸ”§ How to get Turso Database URL & Password

    Step 1: Create a Turso Account

    1. Go to turso.tech
    2. Click "Sign up" and create your account
    3. Verify your email if required

    Step 2: Create a Database

    1. After logging in, click "Create Database"
    2. Choose a name for your database (e.g., soundy-db)
    3. Select your preferred region
    4. Click "Create"

    Step 3: Get Database Credentials

    1. In your database dashboard, click on your newly created database
    2. Navigate to the "Overview" tab
    3. Copy the Database URL (starts with libsql://)
    4. Go to "Settings" tab
    5. Click "Create Token" to generate a new auth token
    6. Copy the generated token (this is your DATABASE_PASSWORD)

    Example URLs:

    DATABASE_URL=libsql://your-database-name.turso.io
    DATABASE_PASSWORD=your-auth-token-here
    
  4. βš™οΈ Configure Environment Variables

    Rename .env.example to .env and 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
  5. πŸ”§ Configure Bot Settings

    a. Update src/config/config.ts with your bot configuration

    b. Configure Lavalink nodes in src/config/nodes.ts

    c. Set up custom emojis in src/config/emoji.ts

  6. πŸš€ Start the Bot

    bun start

βš™οΈ Configuration

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

πŸ“Έ Screenshots

🎡 Music Player Interface

Music Player

Advanced music player with queue management and controls

🎧 Now Playing Display

Now Playing

Real-time now playing information with interactive controls

πŸ“‹ Help Command

Help Command

Comprehensive help system with command categories


πŸ‘₯ Contributors

Avatar Contributor Role
iaMJ 🎯 Creator of Soundy
kydo πŸ› Bug Hunter
🎡 Lavamusic πŸ’‘ Inspiration & Ideas
⭐ stelle-music πŸ”§ Code Adaptation

🀝 Contributing

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

πŸ“‹ Contribution Guidelines

  1. Fork the repository and create your branch from master
  2. Test your changes thoroughly
  3. Follow the existing code style and conventions
  4. Write clear commit messages
  5. Submit a pull request with a detailed description

πŸ› Found a Bug?

Report it here with detailed steps to reproduce.


πŸ“ž Support

Need Help? Join Our Community!

πŸ’¬ Discord Server β€’ πŸ“§ Email Support β€’ πŸ“‹ Documentation


πŸ“„ License

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