JavBus 插件

JavBus 插件:在群聊中快速查询番号与磁链

对接 JavBus API,支持番号查询、关键词搜索、最新影片获取,让你的机器人成为实用的 NSFW 工具。
作者: 蜥蜴


背景

作为一个混迹于多个二次元社群的机器人维护者,我发现群友经常需要查询番号信息,或者寻找特定女优的作品。传统的做法是:

  1. 打开浏览器访问 JavBus 网站
  2. 在搜索框中输入番号
  3. 手动复制磁力链接
  4. 再截图封面图发到群里

这个过程繁琐且低效,尤其是在手机上操作更麻烦。于是我就想:能不能让机器人在群聊中直接完成这些操作?

用户只需要发一条消息,机器人就能自动查询并返回影片详情、磁力链接、封面图和预览截图。


工具定位

koishi-plugin-javbus-lizard 是一款基于 Koishi 框架的 NSFW 查询插件,核心功能是:

  • 番号搜索:通过番号查询影片的完整信息
  • 关键词搜索:按女优名或关键词搜索影片列表
  • 最新影片:获取最新上架的有码和无码影片
  • 磁链管理:支持磁力链接排序和数量限制
  • 图片预览:返回封面图和预览截图

⚠️ 免责声明:本插件仅用于学习和研究目的,请勿配置于 QQ 或其他国内社交平台,后果自负。


快速开始

1. 部署后端 API

本插件依赖 javbus-api 作为后端服务,首先需要进行部署:

1
2
3
4
5
6
7
8
9
# 克隆项目
git clone https://github.com/ovnrain/javbus-api.git

# 安装依赖
cd javbus-api
npm install

# 启动服务
npm start

服务默认运行在 http://localhost:3000

2. 安装插件

1
npm install koishi-plugin-javbus-lizard

或者在 Koishi 控制台的插件市场搜索 javbus-lizard 安装。

3. 配置插件

1
2
3
4
5
6
7
plugins:
javbus-lizard:
api: 'http://localhost:3000' # 你的 API 地址
count: 5 # 每次搜索返回 5 部影片
cover: true # 返回封面图
preview: true # 返回预览截图
magnet: true # 返回磁力链接

完成!现在可以在群聊中使用指令了。


指令一览

指令 说明 示例
jav <番号> 查询番号详情 jav ABP-123
jkw <关键词> 关键词搜索 jkw 高桥しょう子
jew [无码] 最新影片 jewjew 无码

使用场景

场景一:快速查番

群友分享了一个番号,想看看是什么内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
群友A: 有人看过 ABP-123 吗?
你: jav ABP-123
机器人: 标题:ABP-123 ドキドキ初体験
发行日期:2024-01-15
影片时长:120分钟
女优:高桥しょう子

磁链[1]大小:2.5GB
magnet:?xt=urn:btih:...

磁链[2]大小:1.8GB(中文字幕)
magnet:?xt=urn:btih:...
[封面图]
[预览图1][预览图2][预览图3]

场景二:按女优搜索

想找某个女优的作品:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
你: jkw 三上悠亚
机器人: 找到 3 部影片

标题:SSIS-001 三上悠亚 〇〇
发行日期:2024-02-01
标签:高清, 独占
番号:SSIS-001
[封面图]

标题:SSIS-002 三上悠亚 △△
发行日期:2024-03-01
标签:4K, 中文字幕
番号:SSIS-002
[封面图]

场景三:每日追新

每天查看最新上架的影片:

1
2
3
4
5
6
7
8
9
10
你: jew
机器人: 最新有码影片:

标题:XYZ-001 〇〇〇
发行日期:2024-03-15
标签:4K, 独占
番号:XYZ-001
[封面图]

...

技术实现

整体架构

1
2
3
用户 → 聊天平台 → Koishi 机器人 → javbus-lizard 插件 → javbus-api → JavBus 网站

返回影片数据 → 机器人 → 用户

核心流程

番号搜索(jav 指令)

1
2
3
4
5
6
7
8
9
10
11
12
13
用户输入 jav ABP-123

插件调用 /api/movies/ABP-123 → 获取影片基本信息

插件调用 /api/magnets/ABP-123?gid=xxx&uc=xxx → 获取磁力链接

按照配置对磁链排序(默认/中文字幕优先/大小排序)

限制磁链返回数量

可选:获取封面图和预览截图

返回完整信息给用户

关键词搜索(jkw 指令)

1
2
3
4
5
6
7
8
9
10
11
用户输入 jkw 高桥しょう子

插件调用 /api/movies/search?keyword=高桥しょう子

获取搜索结果列表

限制返回数量(count 配置)

逐条返回影片信息

(可选)合并转发

API 端点

端点 方法 说明
/api/movies/{id} GET 获取影片详情
/api/magnets/{id}?gid={gid}&uc={uc} GET 获取磁力链接列表
/api/movies GET 获取最新有码影片
/api/movies?type=uncensored GET 获取最新无码影片
/api/movies?magnet=all GET 获取最新有码影片(含未发行)
/api/movies/search?keyword={keyword} GET 关键词搜索
/api/movies/search?keyword={keyword}&magnet=all GET 关键词搜索(含未发行)

磁链排序算法

1
2
3
4
5
6
7
8
9
10
11
// 排序逻辑
if (magnetPriority === 'cn') {
// 中文字幕优先:中文字幕的磁链排前面
magnetList.sort((a, b) => Number(b.cn) - Number(a.cn))
} else if (magnetPriority === 'size-asc') {
// 从小到大
magnetList.sort((a, b) => a.numberSize - b.numberSize)
} else if (magnetPriority === 'size-desc') {
// 从大到小
magnetList.sort((a, b) => b.numberSize - a.numberSize)
}

配置详解

基础配置

配置项 类型 默认值 说明
api string 必填 API 地址,形如https://aaa.bbb.ccc
count number 5 每次搜索返回影片数量(1-30)
ifPre boolean false 是否包含未发行影片
ifForward boolean false 合并转发(仅 onebot)
debug boolean false 调试日志

获取设置

配置项 类型 默认值 说明
cover boolean false 返回封面图
preview boolean false 返回预览截图
magnet boolean true 返回磁力链接

磁链设置

配置项 类型 默认值 说明
magnetPriority string default 排序方式:default / cn / size-asc / size-desc
magnetCount number 5 返回磁链数量(-1 为全部)

使用技巧

1. 磁链排序

根据需求选择合适的排序方式:

1
2
3
4
5
6
7
8
9
10
11
# 只想要中文字幕
magnetPriority: 'cn'
magnetCount: 3

# 想要大体积高画质
magnetPriority: 'size-desc'
magnetCount: 5

# 想要小体积快速下载
magnetPriority: 'size-asc'
magnetCount: 3

2. 图片缓存

开启封面和预览后,图片会被缓存为 Base64 格式,加快后续查看速度。

3. 合并转发

在 onebot 平台上开启合并转发,可以将多个预览图合并为一条消息,避免刷屏:

1
2
3
ifForward: true
cover: true
preview: true

4. 调试模式

遇到问题时开启调试模式,查看详细的 API 请求日志:

1
debug: true

注意事项

1. 网络要求

API 服务需要能够正常访问 JavBus 网站。如果部署在国内服务器,可能需要配置代理。

2. 图片防盗链

JavBus 的图片服务器有防盗链机制,插件通过设置 referer 头来解决。

3. 请求频率

不要过于频繁地发送请求,以免对 API 服务造成压力。建议每次查询间隔至少 1 秒。

4. 平台限制

合并转发功能仅支持 onebot 平台,其他平台会自动降级为顺序发送。

5. 法律法规

请遵守当地法律法规,不要将本插件用于非法用途。不要在公共群聊中滥用。


常见问题

Q: 提示 Not Found

A: 番号错误或影片暂未发行。可以尝试开启 ifPre: true 来查看未发行影片。

Q: 提示 fetch failed

A: API 服务器网络波动,可能是 JavBus 暂时不可用,稍后重试。

Q: 图片加载不出来?

A: 可能是 JavBus 图片服务器限制了访问,多试几次即可。

Q: 合并转发没效果?

A: 确认你的平台是 onebot,并且 ifForward: true。其他平台会自动降级。

Q: 搜索不到结果?

A: 可能是关键词过于模糊,尝试更精确的关键词。也可以检查 API 是否正常运行。

Q: 磁链数量不对?

A: 检查 magnetCount 配置,设为 -1 获取全部磁链,设为具体数字限制数量。


开发计划

  • 支持更多平台合并转发
  • 添加影片收藏和订阅功能
  • 支持自定义搜索过滤条件
  • 优化图片缓存机制
  • 支持多 API 负载均衡
  • 添加数据统计功能

相关链接


🎉 请低调使用,后续会更新搭建 Koishi 机器人的教程,敬请期待!