diff --git a/README.md b/README.md index 2a47561..006cdc6 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@

TSMusicBot

- TeamSpeak 3 音乐机器人 — 网易云音乐 + QQ 音乐双平台,YesPlayMusic 风格 WebUI 控制面板 + TeamSpeak 3 音乐机器人 — 网易云音乐 + QQ 音乐 + 哔哩哔哩 三平台,YesPlayMusic 风格 WebUI 控制面板

@@ -15,13 +15,14 @@ +

--- ## 功能特性 -- **双音源支持** — 网易云音乐 + QQ 音乐,统一搜索,结果标注来源 +- **三平台音源** — 网易云音乐 + QQ 音乐 + 哔哩哔哩,统一搜索,结果标注来源 - **真实 TS3 客户端协议** — 机器人在 TeamSpeak 中可见(非 ServerQuery 隐身模式) - **YesPlayMusic 风格 WebUI** — 精美界面,支持深色/浅色主题切换 - **完整播放控制** — 播放/暂停/上一首/下一首/进度跳转/音量调节 @@ -29,7 +30,9 @@ - **实时歌词同步** — 歌词滚动显示,支持翻译歌词,服务端帧计数精确同步 - **歌单管理** — 推荐歌单/我的歌单/每日推荐/私人FM,点击播放全部 - **音质选择** — 标准(128k) / 较高(192k) / 极高(320k) / 无损(FLAC) / Hi-Res / 超清母带 -- **QR码登录** — 扫码登录网易云/QQ音乐账号,Cookie 自动持久化 +- **B站视频音频提取** — 搜索B站视频,自动提取DASH最高码率音频流播放 +- **B站热门推荐** — 首页展示B站热门视频和个性化推荐(登录后更准确) +- **QR码登录** — 扫码登录网易云/QQ音乐/哔哩哔哩账号,Cookie 自动持久化 - **多实例管理** — 同时管理多个机器人,连接不同 TS 服务器 - **播放历史** — 自动记录所有播放过的歌曲 - **懒加载机制** — 歌单只存储元数据,播放时才获取链接(避免链接过期) @@ -135,11 +138,11 @@ sudo ./scripts/install.sh | 页面 | 功能 | |------|------| | **首页** | 推荐歌单、每日推荐、私人FM、我的歌单 | -| **搜索** | 双平台统一搜索,结果标注网易云/QQ来源 | +| **搜索** | 三平台统一搜索,结果标注网易云/QQ/B站来源 | | **歌单** | 查看歌单详情,播放全部(根据当前播放模式选择首歌) | | **歌词** | 全屏歌词页,实时同步滚动,模糊专辑封面背景 | | **历史** | 播放历史记录 | -| **设置** | 主题切换、机器人管理、音乐账号登录、音质选择、命令前缀 | +| **设置** | 主题切换、机器人管理、三平台账号登录、音质选择、命令前缀 | ### TeamSpeak 文字命令 @@ -149,6 +152,7 @@ sudo ./scripts/install.sh |------|------| | `!play <歌名>` | 搜索并播放 | | `!play -q <歌名>` | 从 QQ 音乐搜索 | +| `!play -b <关键词>` | 从哔哩哔哩搜索视频并播放音频 | | `!add <歌名>` | 添加到播放队列 | | `!pause` / `!resume` | 暂停 / 恢复播放 | | `!next` / `!prev` | 下一首 / 上一首 | @@ -200,6 +204,7 @@ tsmusicbot/ │ │ ├── provider.ts # 统一 MusicProvider 接口 │ │ ├── netease.ts # 网易云音乐适配器 │ │ ├── qq.ts # QQ 音乐适配器 +│ │ ├── bilibili.ts # 哔哩哔哩适配器(视频音频提取) │ │ ├── auth.ts # Cookie 持久化存储 │ │ └── api-server.ts # 嵌入式 API 服务(自动启动) │ ├── ts-protocol/ # TS3 客户端协议 @@ -244,6 +249,7 @@ tsmusicbot/ | **TS3 协议** | @honeybbq/teamspeak-client(完整客户端协议,ECDH + AES-EAX) | | **网易云 API** | NeteaseCloudMusicApi | | **QQ 音乐 API** | @sansenjian/qq-music-api | +| **哔哩哔哩** | BiliBili Web API(搜索、DASH 音频流、QR 登录) | | **前端框架** | Vue 3, Vite 5, Pinia, Vue Router 4 | | **界面样式** | SCSS(YesPlayMusic 设计风格) | | **图标** | @iconify/vue | @@ -289,6 +295,9 @@ A:QQ 音乐 API 启动时自动监听 3200 端口。如果之前的进程还 **Q:Docker 构建失败?** A:原生模块(opus、sqlite3)需要编译工具,Dockerfile 已包含。确保 Docker 有足够内存(建议 2GB+)。 +**Q:B站视频搜索不到结果?** +A:B站搜索需要 buvid3 匿名 Cookie(程序启动时自动获取)。如果失败,重启程序即可。登录B站账号后搜索效果更好。 + **Q:如何更新到新版本?** A:`git pull` 拉取最新代码,然后 `npm install && npm run build && npm start` 重新构建启动。Docker 用户执行 `docker-compose up -d --build`。 @@ -316,6 +325,7 @@ A:`git pull` 拉取最新代码,然后 `npm install && npm run build && npm | [QQMusicApi](https://github.com/jsososo/QQMusicApi) | QQ 音乐 API 项目 | | [@sansenjian/qq-music-api](https://github.com/sansenjian/qq-music-api) | QQ 音乐 API 活跃维护版本 | | [@honeybbq/teamspeak-client](https://www.npmjs.com/package/@honeybbq/teamspeak-client) | TS3 完整客户端协议实现 | +| [bilibili-API-collect](https://github.com/SocialSisterYi/bilibili-API-collect) | 哔哩哔哩 API 文档 | ## 开源许可