夸克网盘资源搜索插件(项目已废弃,接口不再维护)
通过关键词搜索夸克网盘资源,返回资源标题与下载链接,支持分页浏览。
作者: 蜥蜴
⚠️ 项目状态
本项目已废弃,所对接的第三方接口不再维护,插件可能无法正常返回搜索结果。
本文保留作为使用记录与实现参考。如需在现有机器人中使用,请自行评估接口可用性。
背景
使用夸克网盘查找资源时,通常需要在搜索引擎或第三方站点中检索,再逐条筛选可用的分享链接,操作较为繁琐。若希望在日常聊天中直接获取,需要通过机器人调用第三方搜索接口。
koishi-plugin-quark-search-lizard 将搜索、分页浏览与结果下发整合为一条聊天指令,可在群聊或私聊中完成完整的检索流程。
工具定位
koishi-plugin-quark-search-lizard 是一款基于 Koishi 框架的资源搜索插件,主要能力如下:
| 能力 | 说明 |
|---|---|
| 关键词搜索 | 通过关键词检索夸克网盘资源 |
| 分页浏览 | 结果较多时支持翻页查看 |
| 数量控制 | 每页条目数可通过配置调整 |
| 超时结束 | 超时或错误次数过多时自动结束搜索 |
| 结果下发 | 返回资源标题与下载链接 |
当前版本为 2.0.0,依赖 Koishi ^4.18.0。
安装
前置条件
- 已搭建并可正常运行的 Koishi 项目(
koishi-app)
方式一:通过插件市场安装(推荐)
- 启动 Koishi 项目,打开控制台(默认地址
http://localhost:5140)。 - 进入左侧「插件市场」。
- 在搜索框中输入
quark-search-lizard。 - 找到插件后点击「添加」,Koishi 会自动完成依赖安装与配置写入。
方式二:通过 npm 安装
在 Koishi 项目根目录执行:
1 | npm install koishi-plugin-quark-search-lizard |
随后在 koishi.yml 中手动添加配置:
1 | plugins: |
方式三:通过 yarn / pnpm 安装
若项目使用 yarn 或 pnpm,可执行:
1 | # yarn |
验证安装
在任意已接入机器人的聊天窗口输入:
1 | 资源搜索 海贼王 |
若能返回资源列表或提示「未找到匹配的夸克网盘资源!」,则说明安装成功。
配置
配置项
| 参数 | 类型 | 默认值 | 取值范围 | 说明 |
|---|---|---|---|---|
apiUrl |
string | https://www.hhlqilongzhu.cn/api/duanju_cat.php |
— | 第三方接口地址,默认值请勿更改 |
pageSize |
number | 10 | 1 ~ 20 | 每页显示的条目数 |
配置示例
1 | plugins: |
接口地址由 apiUrl 统一提供,搜索请求基于该地址拼接关键词参数。pageSize 控制每页返回的条目数,默认 10 条,最大 20 条。
使用流程
指令列表
| 指令 | 说明 | 示例 |
|---|---|---|
资源搜索 <关键词> |
关键词搜索夸克网盘资源 | 资源搜索 海贼王 |
流程一:关键词搜索
步骤 1:发送搜索指令
1 | 资源搜索 海贼王 |
若无关键词,插件返回「请提供搜索关键词!」。
步骤 2:接收搜索结果
插件返回带分页信息的资源列表:
1 | 标题:海贼王 |
若结果只有一页,则直接返回列表并附加「当前第 1 页,共 1 页」,不进入分页监听。
步骤 3:分页浏览
插件进入分页监听状态,等待用户输入:
| 输入 | 行为 |
|---|---|
e / 下一页 |
查看下一页 |
q / 上一页 |
查看上一页 |
0 / 退出 |
结束搜索 |
翻页时仅在当前页存在上一页或下一页时才生效。
步骤 4:结束搜索
搜索会在以下情况结束:
- 输入
0或退出:手动结束,提示「搜索已手动结束。」 - 15 秒内无输入:超时结束,提示「输入超时,搜索结束!」
- 连续两次无效输入:提示「错误次数过多,搜索结束!」。首次无效输入时会提示剩余尝试次数
步骤 5:无结果处理
若无匹配资源,插件返回「未找到匹配的夸克网盘资源!」。
使用场景
场景一:群聊内快速检索
群聊中提及某个资源时,可直接通过 资源搜索 <关键词> 检索并分享夸克网盘链接。
场景二:多结果分页浏览
当搜索结果较多时,可通过翻页逐页浏览,无需一次性接收全部内容。
技术实现
技术栈
| 技术 | 用途 |
|---|---|
| Koishi | 机器人框架 |
| TypeScript | 开发语言 |
| 第三方搜索接口 | 资源数据来源 |
接口调用
插件通过 apiUrl 拼接关键词参数获取数据:
1 | const searchUrl = config.apiUrl + searchResourceApi + encodeURIComponent(keyword); |
searchResourceApi 固定为 ?name=,关键词通过 encodeURIComponent 编码后拼接,返回数据取自响应中的 data 字段。
核心设计
分页监听
分页逻辑通过 listenForPageSelection 实现。结果超过一页时,进入循环并调用 session.prompt 等待用户输入:
1 | while (isSearchActive) { |
session.prompt 的超时时长为 15 秒,超时视为结束搜索。
错误计数
无效输入会被累计,超过上限(maxErrorCount = 2)时结束搜索:
1 | errorCount++; |
翻页成功时 errorCount 会归零。
结果分段展示
列表按 pageSize 切片后逐条格式化:
1 | const start = (page - 1) * pageSize; |
每条结果展示标题与下载链接。
注意事项
1. 项目已废弃
所依赖的第三方接口已不再维护,插件可能无法正常返回搜索结果。本文档仅作为使用记录保留。
2. 接口稳定性
默认接口为第三方服务,可能出现限流或返回异常。如遇请求失败,建议稍后重试,不建议自行修改 apiUrl。
3. 分页超时
分页监听状态下,超过 15 秒未输入会结束搜索。需重新发起搜索。
4. 错误次数限制
连续两次无效输入会结束搜索。首次无效输入时会提示剩余尝试次数。
5. 平台选择
请合理使用,避免因滥用导致接口限制或封禁。
常见问题
Q1:安装后输入指令无响应?
依次检查以下项:
- 插件是否已在控制台启用
- 机器人是否已成功连接至目标平台
- 指令是否完整输入(
资源搜索与关键词之间以空格分隔)
Q2:提示「未找到匹配的夸克网盘资源!」?
可能的原因包括:
- 关键词与实际内容不匹配,可尝试更换关键词
- 第三方接口暂时不可用
- 该资源未收录于接口数据源中
Q3:如何在结果较多时翻页?
结果超过一页时,插件会进入分页监听状态,按提示输入 e / 下一页 或 q / 上一页 即可翻页。
Q4:搜索为什么会自动结束?
搜索会在以下情况自动结束:15 秒内无输入、连续两次无效输入。可重新发起搜索继续查找。
Q5:每页的条目数可以调整吗?
可以。通过 pageSize 配置项调整,默认 10 条,取值范围为 1 至 20。
Q6:为什么翻页没有生效?
翻页仅在当前页存在上一页或下一页时才生效。例如在第 1 页输入 q 不会生效。
获取工具
- npm 包:
koishi-plugin-quark-search-lizard - GitHub 仓库:lizard0126/quark-search-lizard
- 反馈建议:GitHub Issues
- 支持作者:请我喝可乐