Sobre el proyecto

Music Bot es un compañero de Telegram para tu biblioteca de Navidrome. Te permite pegar un enlace de servicios como Tidal, Spotify, Apple Music, Deezer, YouTube Music, SoundCloud, Amazon Music o Shazam, identifica automáticamente la pista o el álbum, busca una copia sin pérdidas en la red P2P Soulseek a través de slskd, etiqueta con metadatos completos (artista, álbum, números de pista, géneros, ReplayGain, portada, letras sincronizadas) y coloca los archivos en tu biblioteca. En un minuto, la música ya es reproductible en Navidrome. Capacidades principales: • Descarga álbumes/pistas en FLAC, con opción de respaldo en mp3 (≥320 kbps) si no hay par con calidad sin pérdidas disponible. • Selección exigente de fuentes: cada candidato se verifica por duración contra datos de Deezer y se evalúa por confianza y fiabilidad del par. • Etiquetado rico: metadatos de Deezer combinados con etiquetas comunitarias de Last.fm para géneros más matizados. • Gestión de biblioteca: `/retag` refresca las etiquetas de toda la colección, `/scan` reapunta Navidrome, `/stats` muestra el tamaño y `/help` enumera los comandos. • Búsqueda inline: escribe `@yourbot <consulta>` para buscar en Deezer, en tu biblioteca Navidrome o emitir comandos como `np` (enviar pista actual), `s` (compartir enlace), `l` (letras), `del <nombre>` (eliminar un álbum). • Cargas locales: suelta un zip o carpeta en la página de subida del bot o `./bot-data/uploads/` para aplicar el mismo pipeline de etiquetado y deduplicación. • Privacidad: solo los usuarios cuyos IDs de Telegram aparecen en `ALLOWED_USERS` pueden interactuar. La configuración es una pila Docker Compose de dos servicios (slskd y music-bot) con configuración en `.env`. El bot se comunica con slskd mediante su API REST, usa la API gratuita de Deezer para metadatos y respeta límites de calidad (`MAX_BIT_DEPTH`, `MAX_SAMPLE_RATE_HZ`, `MAX_FILE_BYTES`). Incluye soporte opcional de proxy y un puerto HTTP para subidas locales. El uso es sencillo: pega un enlace musical para iniciar la descarga, añade `re` para volver a descargar un elemento existente, o usa el modo inline para búsquedas rápidas y acciones de reproducción. El bot muestra actualizaciones en tiempo real en Telegram, indicando qué par fue seleccionado, el progreso de la pista y los resultados finales. En conjunto, Music Bot automatiza la adquisición, etiquetado e integración de nueva música en Navidrome, ofreciéndote controles de reproducción y letras directamente desde Telegram.