Source:
ts3audiobot/03-bilibili-audio-troubleshooting.md文档日期:2026-07-08 适用对象:TS3AudioBot 中的 !bili、yt-dlp、cookies 与本机音频代理
1. 链路概览
当前 Bilibili 播放有两条路径:
路径 A:!bili BV号
-> <Bilibili 命令插件>
-> yt-dlp / yt-dlp-bili
-> <Bilibili cookies 文件>
-> 下载 mp3
-> 播放本地文件路径 B:!play http://127.0.0.1:<Bilibili 代理端口>/bv/BV号.mp3
-> <Bilibili 音频代理脚本>
-> yt-dlp
-> <Bilibili cookies 文件>
-> HTTP 流式返回
-> TS3AudioBot 播放 URL路径 A 是主要使用方式,路径 B 是备用验证方式。
2. 关键文件
<TS3AudioBot 数据目录>/<Bilibili cookies 文件>
<TS3AudioBot 数据目录>/plugins/<Bilibili 命令插件>
<TS3AudioBot 数据目录>/bots/default/music/bili/
<TS3AudioBot 程序目录>/<Bilibili 音频代理脚本>
/usr/local/bin/yt-dlp
/usr/local/bin/yt-dlp-bili宿主机对应:
<TS3AudioBot compose 目录>/data/<Bilibili cookies 文件>
<TS3AudioBot compose 目录>/data/plugins/<Bilibili 命令插件>
<TS3AudioBot compose 目录>/data/bots/default/music/bili/3. 一次性检查命令
docker exec ts3audiobot sh -c '
echo "== tools =="
command -v ffmpeg || true
command -v yt-dlp || true
command -v yt-dlp-bili || true
echo "== files =="
ls -l <TS3AudioBot 数据目录>/<Bilibili cookies 文件> 2>/dev/null || true
ls -l <TS3AudioBot 数据目录>/plugins/<Bilibili 命令插件> 2>/dev/null || true
ls -ld <TS3AudioBot 数据目录>/bots/default/music/bili 2>/dev/null || true
'4. cookies 问题
如果 Bilibili 解析失败,优先检查 cookies:
docker exec ts3audiobot sh -c 'ls -lh <TS3AudioBot 数据目录>/<Bilibili cookies 文件>'常见问题:
- 文件不存在。
- 文件为空。
- cookies 已过期。
- cookies 权限导致容器内用户不可读。
- cookies 对应账号无法访问目标视频。
注意:<Bilibili cookies 文件> 等同登录凭证,不要提交到公开仓库。
5. yt-dlp 路径问题
检查:
docker exec ts3audiobot sh -c 'command -v yt-dlp; command -v yt-dlp-bili 2>/dev/null || true'如果插件调用的是 yt-dlp-bili,但容器里只有 yt-dlp,需要补包装脚本或修改插件调用路径。
反过来,如果配置中写的是 youtube-dl,也要确认它实际指向哪个可执行文件。
6. 下载目录权限问题
检查:
docker exec ts3audiobot sh -c 'ls -ld <TS3AudioBot 数据目录>/bots/default/music/bili'如果不可写,修复:
cd <TS3AudioBot compose 目录>
mkdir -p data/bots/default/music/bili
chown -R 1000:1000 data/bots/default/music实际 UID/GID 以 Dockerfile 中的 ts3ab 用户为准。
7. 插件日志与代理日志
常用日志:
tail -100 <TS3AudioBot compose 目录>/data/bili-command.log
tail -100 <TS3AudioBot compose 目录>/data/yt-dlp-bili.log
tail -100 <TS3AudioBot compose 目录>/data/plugin-load.log
docker logs --tail=120 ts3audiobot判断方向:
plugin-load.log异常:先查插件是否加载。bili-command.log异常:查插件执行、参数和下载目录。yt-dlp-bili.log异常:查解析工具、cookies 和 Bilibili 权限。docker logs异常:查 TS3AudioBot 本体、ffmpeg、库依赖。
8. 备用代理验证
如果 !bili 插件暂时不可用,可以用代理路径验证解析链路:
!play http://127.0.0.1:<Bilibili 代理端口>/bv/BV1gK4y1a7yZ.mp3如果代理路径可用,说明 yt-dlp、cookies 和音频解析大概率没问题,故障更可能在插件加载或 !bili 命令注册。
如果代理路径也不可用,优先查:
<Bilibili 音频代理脚本>是否启动。yt-dlp是否存在。- cookies 是否有效。
- 视频是否需要登录或地区权限。
9. 常见故障判断
!bili 返回基础命令列表
=> 插件没有加载
!bili 有响应但下载失败
=> yt-dlp、cookies、Bilibili 权限或下载目录问题
!play 代理 URL 失败
=> 代理、yt-dlp 或 cookies 问题
日志显示 ffmpeg not found
=> TS3AudioBot 播放链路问题,不是 Bilibili 解析问题
日志显示 Permission denied
=> 数据目录权限问题10. 最小恢复顺序
1. 重启容器
2. 确认插件加载
3. 测试 !bili
4. 测试代理 URL
5. 检查 cookies
6. 检查 yt-dlp
7. 检查下载目录权限
8. 查看日志定位具体错误