v3.0
🚀 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.
- Configure via DM using
🌍 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
ubotandntgcallswrappers (PR #184). - Project Structure: Moved configuration to
internal/configand 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.shscript 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