这个项目能做什么

Music Bot 是 Navidrome 音乐库的 Telegram 伴侣。你可以粘贴来自 Tidal、Spotify、Apple Music、Deezer、YouTube Music、SoundCloud、Amazon Music 或 Shazam 的链接,它会自动识别曲目或专辑,通过 slskd 在 Soulseek P2P 网络上找到无损副本,用完整元数据(艺术家、专辑、音轨号、流派、ReplayGain、封面、同步歌词)进行标记,并将文件放入你的音乐库。一分钟后,音乐就可以在 Navidrome 中播放。 主要功能包括: • 以 FLAC 格式下载专辑/曲目,如果找不到无损对等节点,可选择 mp3 后备(≥320 kbps)。 • 挑剔的来源选择:每个候选都会根据 Deezer 数据进行时长检查,并针对置信度和对等节点可靠性进行评分。 • 丰富的标签:Deezer 元数据与 Last.fm 社区标签相结合,形成细致的流派。 • 音乐库管理:`/retag` 刷新整个收藏的标签,`/scan` 重新扫描 Navidrome,`/stats` 显示大小,`/help` 列出命令。 • 内联搜索:输入 `@yourbot <查询>` 搜索 Deezer、你的 Navidrome 音乐库,或发出命令,如 `np`(发送当前曲目)、`s`(分享链接)、`l`(歌词)、`del <名称>`(删除专辑)。 • 本地上传:将 zip 或文件夹拖入机器人的上传页面或 `./bot-data/uploads/`,即可使用相同的标签和去重流程。 • 隐私:只有 `ALLOWED_USERS` 中列出的 Telegram 用户 ID 才能交互。 设置是一个双服务 Docker Compose 堆栈(slskd 和 music-bot),配置在 `.env` 中。机器人通过其 REST API 与 slskd 通信,使用 Deezer 的免费 API 获取元数据,并遵守质量上限(`MAX_BIT_DEPTH`、`MAX_SAMPLE_RATE_HZ`、`MAX_FILE_BYTES`)。支持可选代理和本地上传 HTTP 端口。 用法很简单:粘贴音乐链接开始下载,添加 `re` 重新下载现有项目,或使用内联模式进行快速搜索和播放操作。机器人会在 Telegram 中提供实时状态更新,显示选择了哪个对等节点、曲目进度和最终结果。 总体而言,Music Bot 自动化了获取、标记和整合新音乐到 Navidrome 的过程,同时让你直接从 Telegram 获得播放控制和歌词。