From 6c26486f494416ef8f75b63b88d6654ae22782c5 Mon Sep 17 00:00:00 2001 From: qsc Date: Mon, 3 Aug 2026 21:53:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 + README.md | 17 +- core/jx3api_data.py | 43 +--- core/message.py | 54 ++--- main.py | 17 +- metadata.yaml | 2 +- templates/fubenjilu.html | 393 ++++++++++++++++++++++++++++++++ templates/helps.html | 480 ++++++++++++++++++++++++++------------- 8 files changed, 775 insertions(+), 235 deletions(-) create mode 100644 templates/fubenjilu.html diff --git a/CHANGELOG.md b/CHANGELOG.md index 96fc915..3adff1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## 更新记录 +### version: 3.1: + +增加副本记录查询功能。 + ### version: 3.0: 大部分功能重写,还有部分未写完。 diff --git a/README.md b/README.md index 5ca57ba..7f9ff9f 100644 --- a/README.md +++ b/README.md @@ -79,10 +79,23 @@ 大区状态:区服 | 开服 服务器 技改记录:技改 秘境方位:解密 +副本记录:副本 服务器 角色 掉落统计:掉落 物品 [服务器] [数量] 【魔盒数据】 -资历查询:资历 角色 服务器 -魔盒宏:交易行 物品名称 服务器 +魔盒宏:宏 心法 +资历查询:资历 服务器 角色 +交易行:交易行 服务器 物品 +【避雷功能】 +避雷添加:避雷添加 名称 备注 +避雷查看:避雷查看 +避雷查询:避雷查询 名称 +避雷修改:避雷修改 ID 名称 备注 +避雷删除:避雷删除 ID +【推送功能】 +开服监控:开服监控 +新闻推送:新闻推送 +刷马推送:刷马推送 +赤兔推送:赤兔推送 ## 安装与依赖 diff --git a/core/jx3api_data.py b/core/jx3api_data.py index 85d44ef..761c32b 100644 --- a/core/jx3api_data.py +++ b/core/jx3api_data.py @@ -1776,42 +1776,19 @@ class JX3APIService: processor=processor, template="" ) - return_data = self._init_return_data() - - # 1. 构造请求参数 - params = {"class": type, "limit": "5", "token": self.token} - - # 2. 调用基础请求 - data: Optional[list[Dict[str, Any]]] = await self._base_request( - "jx3_bagua", "GET", params=params - ) - - # 3. 处理返回数据 - try: - if not data: - result_msg = f"未找到相关 {type} 记录。\n" - result_msg += f"可选范围:818 616 鬼网三 鬼网3 树洞 记录 教程 街拍 故事 避雷 吐槽 提问" - else: - result_msg = f"类型:【{type}】\n\n" - - for item in data: - result_msg += f"{item['title']}\n" - result_msg += f"分区:{item['zone']} 服务器:{item['server']}\n" - result_msg += f"所属吧:{item['name']}\n" - result_msg += f"链接:https://tieba.baidu.com/p/{item['url']}\n" - result_msg += f"日期:{item['date']}\n\n" - return_data["data"] = result_msg - except Exception as e: - logger.exception("处理返回数据失败") - return_data["msg"] = "处理返回数据失败" - return return_data - - return_data["code"] = 200 - - return return_data + async def fubengjilu(self, server:str, name: str ) -> Dict[str, Any]: + """副本记录""" + async def processor(data: Any, return_data: Dict[str, Any]) -> None: + return_data["data"]["list"] = data + return await self._request_api( + path="/raid/records", + params= {"server": server,"name": name,"token": self.token,}, + processor=processor, + template="fubenjilu.html" + ) diff --git a/core/message.py b/core/message.py index 6f87ac8..a0fa64f 100644 --- a/core/message.py +++ b/core/message.py @@ -627,6 +627,14 @@ class MessageBuilder: """ 渣男语录""" return await self.plain_msg(event, self.jx3api.zhananyulu) + async def tiebawujia(self, event: AstrMessageEvent, name: str, server: str = "", limit: str = "5", ): + """ 贴吧物价 名称 服务器 数量 """ + return await self.plain_msg(event, lambda: self.jx3api.tiebawujia(name, server, limit)) + + async def bagua(self, event: AstrMessageEvent, server:str = "", limit:str = 10): + """ 818 """ + return await self.plain_msg(event, lambda: self.jx3api.bagua(818,server,limit)) + async def keju(self, event: AstrMessageEvent,subject: str, limit: int = 5): """ 科举 题目 条数""" return await self.plain_msg(event, lambda: self.jx3api.keju(subject,limit)) @@ -647,69 +655,44 @@ class MessageBuilder: """ 解密""" return await self.plain_msg(event, self.jx3api.jiemi) - async def tiebawujia(self, event: AstrMessageEvent, name: str, server: str = "", limit: str = "5", ): - """ 贴吧物价 名称 服务器 数量 """ - return await self.plain_msg(event, lambda: self.jx3api.tiebawujia(name, server, limit)) - - async def bagua(self, event: AstrMessageEvent, server:str = "", limit:str = 10): - """ 818 """ - return await self.plain_msg(event, lambda: self.jx3api.bagua(818,server,limit)) + async def fubeng(self, event: AstrMessageEvent, server:str, name:str): + """ 副本""" + return await self.T2I_image_msg(event, lambda: self.jx3api.fubengjilu(server,name)) async def diaoluo(self, event: AstrMessageEvent, name: str, server: str = "", limit: str = "20",): """ 掉落 物品 服务器 数量 """ return await self.T2I_image_msg(event, lambda: self.jx3api.diaoluo(name, server, limit)) - async def hong(self, event: AstrMessageEvent,name: str = "易筋经"): + + async def hong(self, event: AstrMessageEvent,name: str): """ 宏 心法""" return await self.handler_plain_image_msg(event, lambda: self.jx3box.hong1(name), self.jx3box.hong2) - - async def zili(self, event: AstrMessageEvent, name: str, server: str = ""): + async def zili(self, event: AstrMessageEvent, server: str, name: str): """ 资历 角色名称 服务器""" - return await self.handler_zili_msg(event, name, self.serverdefault(server)) + return await self.handler_zili_msg(event, name, server) - - async def jiaoyihang(self, event: AstrMessageEvent,Name: str = "守缺式",server: str = ""): + async def jiaoyihang(self, event: AstrMessageEvent,server: str, Name: str): """ 交易行 物品名称 服务器""" - return await self.T2I_image_msg(event, lambda: self.jx3box.jiaoyihang(Name, self.serverdefault(server))) + return await self.T2I_image_msg(event, lambda: self.jx3box.jiaoyihang(Name,server)) - - - - - - - - - - - - - - - - async def bilei_add(self, event: AstrMessageEvent,name: str, text: str): """避雷添加 名称 备注""" return await self.plain_msg(event, lambda: self.bilei.add(name,text,event.get_sender_name())) - async def bilei_all(self, event: AstrMessageEvent): """避雷查看""" return await self.T2I_image_msg(event, self.bilei.all) - async def bilei_select(self, event: AstrMessageEvent, name:str): """避雷查询""" return await self.T2I_image_msg(event, lambda: self.bilei.select(name)) - async def bilei_update(self, event: AstrMessageEvent, id:int, name: str, text: str): """避雷修改 ID 名称 备注""" return await self.plain_msg(event, lambda: self.bilei.update(id,name,text,event.get_sender_name())) - async def bilei_delete(self, event: AstrMessageEvent, id:int): """避雷删除 ID""" return await self.plain_msg(event, lambda: self.bilei.delete(id)) @@ -720,19 +703,16 @@ class MessageBuilder: return_msg = await self.jx3at.get_task_info("kfts") await event.send(event.plain_result(return_msg)) - async def xinwenzhixun(self, event: AstrMessageEvent): """ 新闻推送""" return_msg = await self.jx3at.get_task_info("xwts") await event.send(event.plain_result(return_msg)) - async def shuamamsg(self, event: AstrMessageEvent): """ 刷马推送""" return_msg = await self.jx3at.get_task_info("smts") await event.send(event.plain_result(return_msg)) - async def chitusg(self, event: AstrMessageEvent): """ 赤兔推送""" return_msg = await self.jx3at.get_task_info("ctts") diff --git a/main.py b/main.py index 2a609d6..c200680 100644 --- a/main.py +++ b/main.py @@ -19,7 +19,7 @@ from .core.fun_basic import load_as_base64 @register("astrbot_plugin_jx3", "fxdyz", "通过调用剑网三API接口获取游戏数据,处理发送。", - "3.0", + "3.1", "https://github.com/qsc20001102/astrbot_plugin_jx3" ) class Jx3ApiPlugin(Star): @@ -293,21 +293,20 @@ class Jx3ApiPlugin(Star): "吃什么": self. jx3cmd.chishengme, "骚话": self. jx3cmd.shaohua, "渣男语录": self. jx3cmd.zhananyulu, + "贴吧物价": self. jx3cmd.tiebawujia, + "818": self. jx3cmd.bagua, "科举": self. jx3cmd.keju, "区服": self. jx3cmd.zhuangtai, "开服": self. jx3cmd.kaifu, "技改": self. jx3cmd.jigai, "解密": self. jx3cmd.jiemi, - "资历": self. jx3cmd.zili, - "宏": self. jx3cmd.hong, - - - - "818": self. jx3cmd.bagua, - "交易行": self. jx3cmd.jiaoyihang, - "贴吧物价": self. jx3cmd.tiebawujia, + "副本": self. jx3cmd.fubeng, "掉落": self. jx3cmd.diaoluo, + "宏": self. jx3cmd.hong, + "资历": self. jx3cmd.zili, + "交易行": self. jx3cmd.jiaoyihang, + "开服推送": self. jx3cmd.kaifhujiank, "新闻推送": self. jx3cmd.xinwenzhixun, "刷马推送": self. jx3cmd.shuamamsg, diff --git a/metadata.yaml b/metadata.yaml index 0911404..c83a779 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -1,7 +1,7 @@ name: astrbot_plugin_jx3 display_name: 剑网三游戏数据查询工具 desc: 通过接口调用剑网三API接口获取游戏数据,处理发送。 -version: v3.0 +version: v3.1 author: 飞翔大野猪 repo: https://github.com/qsc20001102/astrbot_plugin_jx3 astrbot_version: ">=4.11.0" diff --git a/templates/fubenjilu.html b/templates/fubenjilu.html new file mode 100644 index 0000000..95dbb95 --- /dev/null +++ b/templates/fubenjilu.html @@ -0,0 +1,393 @@ + + + + +副本奖励记录 + + + + + + +
+

副本奖励记录

+ +
+ 灰色表示奖励已经获取,绿色表示奖励尚未获取 +
+ +
+
+ + 奖励已获取 +
+ +
+ + 奖励未获取 +
+
+ + {% if list %} + + + + + + + + + + {% for m in list %} + + + + + + {% endfor %} + +
副本名称Boss 奖励状态
+
+ {{ m.mapName }} +
+ +
+ 已获取 {{ m.bossFinished }} / {{ m.bossCount }} +
+
+
+ {% for boss in m.bossProgress %} +
+ + #{{ boss.progressId }} + + +
+ {{ boss.name }} +
+ +
+ {% if boss.finished %} + + 奖励已获取 + {% else %} + ! + 奖励未获取 + {% endif %} +
+
+ {% endfor %} +
+
+ + {% else %} +
+ 暂无副本奖励记录 +
+ {% endif %} +
+ + + \ No newline at end of file diff --git a/templates/helps.html b/templates/helps.html index 9dec8ad..bb8467f 100644 --- a/templates/helps.html +++ b/templates/helps.html @@ -2,6 +2,7 @@ + 剑网三插件功能介绍 @@ -217,7 +305,10 @@
-
剑网三综合查询插件
+
+
剑网三综合查询插件
+
共 16 个功能分类 · 69 项功能 · 105 条指令
+
指令与参数之间使用空格分隔
@@ -230,516 +321,599 @@
活动情报
-
活动日历
- 日常 [延后天数] - 日常预测 + 日常 [延后天数] + 日常预测
声望社
- 楚天社 - 云从社 - 披风会 - 穹野卫 + 楚天社 + 云从社 + 披风会 + 穹野卫
关隘首领
- 关隘 + 关隘
赤兔
- 赤兔 - 本周赤兔 + 赤兔 + 本周赤兔
阵营事件
- 阵营奉献 [阵营] + 阵营奉献 [阵营]
烟花记录
- 烟花 区服 角色 + 烟花 区服 角色
马场查询
- 刷马 - 马场 + 刷马 + 马场
-
名剑相关
-
名剑战绩
- 战绩 服务器 角色 [模式] + 战绩 服务器 角色 [模式]
名剑排行
- 名剑排行 [模式] [数量] + 名剑排行 [模式] [数量]
名剑统计
- 名剑统计 [模式] + 名剑统计 [模式]
-
物价交易
-
阵营拍卖
- 阵营拍卖 服务器 [物品] [数量] + 阵营拍卖 服务器 [物品] [数量]
的卢拍卖
- 的卢 服务器 + 的卢 服务器
金价行情
- 金价 服务器 + 金价 服务器
物品价格
- 物价 外观名称 [服务器] + 物价 外观名称 [服务器]
成本计算
- 成本 服务器 物品名称 + 成本 服务器 物品名称
编号搜索
- 看号 万宝楼编号 + 看号 万宝楼编号
-
阵营战场
-
帮战记录
- 帮战 服务器 + 帮战 服务器
阵营沙盘
- 沙盘 服务器 + 沙盘 服务器
诛恶事件
- 诛恶 服务器 + 诛恶 服务器
-
排行榜单
-
排行统计
-
- 名士五十强 服务器 - 老江湖五十强 服务器 - 兵甲藏家五十强 服务器 - 名师五十强 服务器 - 阵营英雄五十强 服务器 - 薪火相传五十强 服务器 - 庐园广记一百强 服务器 - 浩气神兵宝甲五十强 服务器 - 恶人神兵宝甲五十强 服务器 - 浩气爱心帮会五十强 服务器 - 恶人爱心帮会五十强 服务器 - 赛季恶人五十强 服务器 - 赛季浩气五十强 服务器 - 上周恶人五十强 服务器 - 上周浩气五十强 服务器 - 本周恶人五十强 服务器 - 本周浩气五十强 服务器 + 名士五十强 服务器 + 老江湖五十强 服务器 + 兵甲藏家五十强 服务器 + 名师五十强 服务器 + 阵营英雄五十强 服务器 + 薪火相传五十强 服务器 + 庐园广记一百强 服务器 + 浩气神兵宝甲五十强 服务器 + 恶人神兵宝甲五十强 服务器 + 浩气爱心帮会五十强 服务器 + 恶人爱心帮会五十强 服务器 + 赛季恶人五十强 服务器 + 赛季浩气五十强 服务器 + 上周恶人五十强 服务器 + 上周浩气五十强 服务器 + 本周恶人五十强 服务器 + 本周浩气五十强 服务器
试炼排行
- 试炼排行 服务器 心法 + 试炼排行 服务器 心法
-
角色名片
-
名片缓存
- 名片 服务器 角色 + 名片 服务器 角色
名片历史
- 全名片 服务器 角色 + 全名片 服务器 角色
随机名片
- 随机秀 服务器 [门派] [体型] + 随机秀 服务器 [门派] [体型]
- -
-
- -
-
百战与角色
-
- -
-
角色百战
-
- 精耐 服务器 角色 -
-
- -
-
百战首领
-
- 百战 -
-
- -
-
成就查询
-
- 成就 服务器 角色 成就 -
-
- -
-
角色详情
-
- 角色 服务器 名称 -
-
-
奇遇相关
-
奇遇记录
- 奇遇 服务器 角色 - 查询 服务器 角色 + 奇遇 服务器 角色 + 查询 服务器 角色
未触发的
- 未出 服务器 角色 + 未出 服务器 角色
奇遇汇总
- 汇总 服务器 [天数] + 汇总 服务器 [天数]
近期奇遇
- 近期 服务器 [数量] + 近期 服务器 [数量]
奇遇统计
- 统计 奇遇 [服务器] [数量] + 统计 奇遇 [服务器] [数量]
奇遇攻略
- 攻略 奇遇 + 攻略 奇遇 +
+
+
+
+ +
+
百战记录
+
+
+
角色百战
+
+ 精耐 服务器 角色
+
+
百战首领
+
+ 百战 +
+
+
+
+ +
+
角色信息
+
+
+
成就查询
+
+ 成就 服务器 角色 成就 +
+
+ +
+
角色详情
+
+ 角色 服务器 名称 +
+
心法配装
-
阵眼效果
- 阵眼 心法 + 阵眼 心法
魔盒配装
- 配装 心法 + 配装 心法
资历榜单
- 资历排行 [服务器] [门派] + 资历排行 [服务器] [门派]
技能信息
- 技能 心法 + 技能 心法
奇穴信息
- 奇穴 心法 + 奇穴 心法
-
游戏社区
-
角色聊天
- 聊天 服务器 角色 [条数] [页数] + 聊天 服务器 角色 [条数] [页数]
统战歪歪
- 统战 [服务器] + 统战 [服务器]
-
家园功能
+
家园鲜花
- 花价 服务器 [名称] [地图] - 装饰 名称 - 器物 地图名称 + 花价 服务器 [名称] [地图] +
+
+ +
+
家园装饰
+
+ 装饰 名称 +
+
+ +
+
器物图谱
+
+ 器物 地图名称
师徒列表
- 拜师 服务器 [关键词] - 收徒 服务器 [关键词] + 拜师 服务器 [关键词] + 收徒 服务器 [关键词]
-
资讯公告
+
维护公告
- 维护 [数量] - 新闻 [数量] + 维护 [数量] +
+
+ +
+
新闻资讯
+
+ 新闻 [数量]
团队招募
- 招募 服务器 [副本] - 团长 服务器 [名称] - 团牌 服务器 [内容] + 招募 服务器 [副本] + 团长 服务器 [名称] + 团牌 服务器 [内容]
骚话语录
- 答案之书 - 舔狗语录 - 疯狂星期四 - 彩虹屁 - 毒鸡汤 - 朋友圈 - 喝什么 - 吃什么 - 骚话 - 渣男语录 + 答案之书 + 舔狗语录 + 疯狂星期四 + 彩虹屁 + 毒鸡汤 + 朋友圈 + 喝什么 + 吃什么 + 骚话 + 渣男语录
-
百度贴吧
-
外观记录
- 贴吧物价 名称 [服务器] [数量] + 贴吧物价 名称 [服务器] [数量]
-
贴吧查询
+
百度贴吧
- 818 [服务器] [数量] + 818 [服务器] [数量]
-
系统工具
-
科举答案
- 科举 题目 [条数] + 科举 题目 [条数]
大区状态
- 区服 - 开服 服务器 + 区服 + 开服 服务器
技改记录
- 技改 + 技改
秘境方位
- 解密 + 解密 +
+
+ +
+
副本记录
+
+ 副本 服务器 角色
掉落统计
- 掉落 物品 [服务器] [数量] + 掉落 物品 [服务器] [数量]
-
魔盒数据
+
+
魔盒宏
+
+ 宏 心法 +
+
资历查询
- 资历 角色 服务器 + 资历 服务器 角色
-
魔盒宏
+
交易行
- 交易行 物品名称 服务器 + 交易行 服务器 物品 +
+
+
+
+ +
+
避雷功能
+
+
+
避雷添加
+
+ 避雷添加 名称 备注
+
+
避雷查看
+
+ 避雷查看 +
+
+ +
+
避雷查询
+
+ 避雷查询 名称 +
+
+ +
+
避雷修改
+
+ 避雷修改 ID 名称 备注 +
+
+ +
+
避雷删除
+
+ 避雷删除 ID +
+
+
+
+ +
+
推送功能
+
+
+
开服监控
+
+ 开服监控 +
+
+ +
+
新闻推送
+
+ 新闻推送 +
+
+ +
+
刷马推送
+
+ 刷马推送 +
+
+ +
+
赤兔推送
+
+ 赤兔推送 +
+