READMESource: main@6c640885
dsh-bili-video
把 B 站视频搬进 QQ 群的 DSH 插件:群里出现 B 站链接或小程序卡片时,自动解析、下载、合并并发送为 QQ 视频消息;也可以由 Agent 直接调用 bili_relay 工具。
这是 dsh-bili-video 的独立发布仓库,npm 包名为
dsh-bili-video。插件运行数据(data/、secrets/)由root目录自行管理,不随包发布。
功能
- 链接搬运:
bili_relay工具接收 B 站链接、BV 号或b23.tv短链,以及真实群号; - 卡片自动搬运:可选连接 SnowLuma OneBot v11 WebSocket,监听群消息中的 B 站卡片/链接,无需 @;
- 清晰度自适应:有 B 站 Cookie 时优先高画质,未登录时使用匿名可用的流;
- 大文件分片:≤4.5MB 直接内联上传,更大的文件走官方分片上传协议,不做群文件;
- 去重与限流:同一 BV 6 小时内只搬一次,每群 10 分钟最多 3 条;
- 失败可追踪:失败重试一次,并写入
data/video-failures.ndjson。
限制
- 仅支持 B 站普通视频,不支持分 P、直播、番剧、付费内容;
- 视频时长上限 15 分钟,内联文件上限 30MB;
- 需要官方 QQ Bot 凭据,且目标群已有
group_openid映射; - 需要本机可执行
ffmpeg(或通过配置指定路径)。
安装
dsh plugin --profile desktop add dsh-bili-video
安装后在 profile 的 cordis.patch.yml 中覆盖配置。下面是最小示例:
- insert:
- id: bili-video
name: dsh-bili-video
config:
root: /path/to/dsh-bili-video-data
groups: "123456789"
maxBytes: 31457280
maxDurationSec: 900
oneBotWs: ws://127.0.0.1:3001/?access_token=...
配置
| 字段 | 说明 |
|---|---|
root |
数据根目录;默认当前工作目录,也可用 BILI_VIDEO_ROOT 环境变量 |
groups |
允许搬运的真实群号,逗号分隔;留空表示不限制,生产环境不建议留空 |
maxBytes |
内联上限,默认 31457280(30MB) |
maxDurationSec |
时长上限,默认 900(15 分钟) |
ffmpeg |
ffmpeg 可执行文件;默认 ffmpeg,也可用 FFMPEG_PATH |
oneBotWs |
SnowLuma OneBot v11 WS 地址;留空则只保留工具调用 |
cookieFile |
B 站 Cookie 文件;默认 <root>/secrets/bilibili-cookie.txt |
appId / appSecret |
官方 QQ Bot 凭据;也可用 QQBOT_APPID / QQBOT_SECRET |
群号到官方 group_openid 的映射默认读取 <root>/data/official-bot/group-map.json。
使用
Agent 侧:
{
"url": "https://www.bilibili.com/video/BV1xx411c7mD",
"group_id": "123456789"
}
OneBot 侧:配置 oneBotWs 后,群消息里的 B 站链接或卡片会被自动识别;同一 BV 6 小时内不会重复发送。
目录结构
src/core.js 解析 / 下载 / 合并 / 分片上传 / 发送
src/index.js Cordis 插件入口,注册 bili_relay 与 OneBot WS 监听
cordis.patch.yml bundle 挂载声明
docs/ 配置与限制说明
开发
node --check src/core.js
node --check src/index.js
License
MIT
No comments yet. Be the first to write one.