Skip to content

v3.0

Choose a tag to compare

@Vivekkumar-IN Vivekkumar-IN released this 31 Dec 12:53
· 45 commits to master since this release
df25d19

🚀 YukkiMusic v3.0 Release Notes

We are thrilled to announce YukkiMusic v3.0! This major release brings a complete architectural overhaul, introducing powerful new features like multi-assistant support, RTMP streaming, video playback, a modular platform system, and an integrated logs management system.


✨ Major Highlights

🤖 Multi-Assistant System

  • Load Balancing: You can now configure multiple assistant accounts to distribute the load across different chats.
  • Dynamic Assignment: The bot automatically assigns the least used assistant to new chats.
  • Resiliency: If one assistant is restricted or busy, others can take over automatically.
  • Improved Restriction Handling: Better detection and handling when an assistant is restricted in a chat.

🎼 New Modular Platform System

The music fetching engine has been rewritten from scratch to be modular and extensible.

  • New Platforms Supported:
    • Spotify: Native support for tracks, albums, and playlists with YouTube fallback.
    • SoundCloud: Fetch and play tracks directly.
    • Youtubify: Another API support for YouTube downloads (Audio + Video).
    • Direct Stream: Play direct audio/video URLs (HTTP, HLS, DASH).
  • Priority System: Platforms are checked in a specific order (Telegram > YouTube > External APIs) to ensure the fastest reliable source is used.

📹 Video Playback & RTMP Streaming

  • Video Support: You can now play video tracks in voice chats using /vplay.
  • RTMP Streaming: Stream directly to telegram RTMP servers using /stream.
    • Configure via DM using /setrtmp.

🌍 Localization

  • Multi-Language Support: The bot now supports multiple languages.
  • Per-Chat Settings: Set a specific language for each group using /lang.
  • Easy Translation: Locale files are YAML-based (internal/locales/) for easy contribution.

🛠 New Features & Commands

⚡ Power Tools

  • /logs: Access bot logs directly from Telegram (Sudo only).
  • /speedtest (or /spt): Check the server's network speed (Upload/Download/Latency).
  • /broadcast: Powerful broadcast system with flags (-nochat, -nouser, -pin, -limit) to send announcements.
  • /active: View all active voice chats and system stats.
  • /restart: Restart the bot directly from Telegram.

🎮 Playback Control

  • /seek & /seekback: Fast forward or rewind the current track.
  • /jump: Jump to a specific timestamp.
  • /speed: Adjust playback speed (0.5x - 4.0x) with pitch preservation.
  • /loop: Loop the current track 1-10 times.
  • /shuffle: Shuffle the current queue.

⚙️ Management

  • Auto-Leave: Configure the assistant to automatically leave inactive chats (/autoleave).
  • Maintenance Mode: Owner can enable maintenance mode to block usage during updates (/maintenance).

🔧 Technical Improvements

  • Refactored Call Connection: Completely rewritten call connection logic for better stability and error handling (PR #184).
  • Thread Safety: Improved concurrency handling with mutexes in ubot and ntgcalls wrappers (PR #184).
  • Project Structure: Moved configuration to internal/config and standardized package layout.
  • Codebase Standardization: Massive code formatting and style standardization.
  • Go 1.25 Upgrade: The project has been updated to use Go 1.25.5 for better performance and stability.
  • Database Caching: Implemented an in-memory caching layer to reduce database queries and improve response times.
  • API Security: Improved error handling to sanitize and hide API keys in logs and error messages.
  • Installation Script: A new install.sh script handles dependency installation (FFmpeg, Python, yt-dlp) automatically.

📝 Configuration Changes

New environment variables have been added to .env:

Variable Description
STRING_SESSIONS Space-separated list of assistant session strings (supports multiple).
SESSION_TYPE Type of session string: pyrogram, telethon, or gogram.
SPOTIFY_CLIENT_ID Required for Spotify support.
SPOTIFY_CLIENT_SECRET Required for Spotify support.
YOUTUBIFY_API_KEY Optional API key for Youtubify downloader.
LEAVE_ON_DEMOTED If true, bot leaves group when demoted from admin.
PING_IMG_URL Custom image for the /ping command.

Check internal/config/README.md for the full configuration guide.


Made with ❤️ by TheTeamVivek