diff --git a/CHANGELOG.md b/CHANGELOG.md index f9b8d4f..6f02c10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,13 @@ ## 更新记录 +### version: 2.1: + +接口地址调整 + ### version: 2.0: 接口地址调整 - ### version: 1.2.4: 角色信息查询数据展示优化 diff --git a/core/jx3_data.py b/core/jx3_data.py index b9c602d..c295d52 100644 --- a/core/jx3_data.py +++ b/core/jx3_data.py @@ -751,16 +751,42 @@ class JX3Service: return_data["code"] = 200 return return_data - - - - + async def baizhan(self) -> Dict[str, Any]: + """百战首领""" + return_data = self._init_return_data() + + # 1. 构造请求参数 + params = { "token": self.token} + + data: Optional[Dict[str, Any]] = await self._base_request("jx3_baizhan", "GET", params=params) + if not data: + return_data["msg"] = "获取接口信息失败" + return return_data + # 处理返回数据 - + try: + return_data["data"] = data + return_data["data"]["start"] = datetime.fromtimestamp(float(data["start"])).strftime("%Y-%m-%d %H:%M:%S") + return_data["data"]["end"] = datetime.fromtimestamp(float(data["end"])).strftime("%Y-%m-%d %H:%M:%S") + + except Exception as e: + logger.error(f"数据处理时出错: {e}") + return_data["msg"] = "处理接口返回信息时出错" + # 加载模板 + try: + return_data["temp"] = await load_template("baizhan.html") + except FileNotFoundError as e: + logger.error(f"加载模板失败: {e}") + return_data["msg"] = "系统错误:模板文件不存在" + return return_data + + return_data["code"] = 200 + + return return_data async def shuamamsg(self,server:str,type:str,subtype:str) -> Dict[str, Any]: diff --git a/core/message.py b/core/message.py index 1749d00..175beed 100644 --- a/core/message.py +++ b/core/message.py @@ -272,6 +272,11 @@ class MessageBuilder: return await self.image_msg(event, lambda: self.jx3api.shapan(self.serverdefault(server))) + async def jx3_baizhan(self, event: AstrMessageEvent): + """剑三 百战""" + return await self.T2I_image_msg(event, self.jx3api.baizhan) + + async def jx3_qufuqiyu(self, event: AstrMessageEvent,adventureName: str = "阴阳两界", server: str = ""): """剑三 奇遇统计 奇遇名称 服务器""" return await self.T2I_image_msg(event, lambda: self.jx3api.qiyu(adventureName,self.serverdefault(server))) diff --git a/data/api_config.json b/data/api_config.json index 41dc0ce..4fc393d 100644 --- a/data/api_config.json +++ b/data/api_config.json @@ -106,14 +106,6 @@ "params":{ } }, - "aijx3_shapan":{ - "url":"https://www.jianxiachaguan.cn/api2/aijx3-jxcg/game/get-sand-table-img", - "method":"POST", - "description":"获取剑网三沙盘状态", - "params":{ - "serverName": "眉间雪" - } - }, "jx3_shaohua":{ "url":"https://www.jx3api.com/data/saohua/random", "method":"GET", @@ -122,6 +114,22 @@ "name": "万花" } }, + "aijx3_shapan":{ + "url":"https://www.jianxiachaguan.cn/api2/aijx3-jxcg/game/get-sand-table-img", + "method":"POST", + "description":"获取剑网三沙盘状态", + "params":{ + "serverName": "眉间雪" + } + }, + "jx3_baizhan":{ + "url":"https://www.jx3api.com/data/active/monster", + "method":"GET", + "description":"获取本周百战异闻录玩法中刷新的首领列表及其特殊技能效果", + "params":{ + "token":"" + } + }, "aijx3_qiyu":{ "url":"https://www.jianxiachaguan.cn/api2/aijx3-jxcg/game/get-adventure-record", "method":"POST", diff --git a/main.py b/main.py index 8b74103..b864b62 100644 --- a/main.py +++ b/main.py @@ -16,7 +16,7 @@ from .core.fun_basic import load_as_base64 @register("astrbot_plugin_jx3", "fxdyz", "通过调用剑网三API接口获取游戏数据,处理发送。", - "2.0", + "2.1", "https://github.com/qsc20001102/astrbot_plugin_jx3api" ) class Jx3ApiPlugin(Star): @@ -205,6 +205,7 @@ class Jx3ApiPlugin(Star): "攻略": self.jx3cmd.jx3_qiyugonglue, "宏": self.jx3cmd.jx3_hong, "配装": self.jx3cmd.jx3_peizhuang, + "百战": self.jx3cmd.jx3_baizhan, "金价": self.jx3cmd.jx3_jinjia, "物价": self.jx3cmd.jx3_wujia, "交易行": self.jx3cmd.jx3_jiaoyihang, diff --git a/metadata.yaml b/metadata.yaml index dc45582..6162158 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -1,6 +1,6 @@ name: astrbot_plugin_jx3 display_name: 剑网三游戏数据查询工具 desc: 通过接口调用剑网三API接口获取游戏数据,处理发送。 -version: v2.0 +version: v2.1 author: 飞翔大野猪 repo: https://github.com/qsc20001102/astrbot_plugin_jx3 diff --git a/templates/baizhan.html b/templates/baizhan.html new file mode 100644 index 0000000..c15bec2 --- /dev/null +++ b/templates/baizhan.html @@ -0,0 +1,146 @@ + + + + +百战异闻录 + + + + + + +
+

百战异闻录

+ + +
+
+ 开始时间:{{ start }}   |   + 结束时间:{{ end }} +
+ +
+ 最终Boss:{{ boss }} +
+
+ +
+ + {% for row in range(0, list|length, 10) %} + {% set slice = list[row:row+10] %} + + {% if (row // 10) % 2 == 1 %} + {% set slice = slice[::-1] %} + {% endif %} + + {% for item in slice %} +
+
第{{ item.index }}层
+
{{ item.name }}
+ + {% if item.data.list %} +
+ {% for b in item.data.list %} + {{ b }}{% if not loop.last %} / {% endif %} + {% endfor %} +
+ {% else %} +
+ {% endif %} +
+ {% endfor %} + + {% endfor %} + +
+
+ + + \ No newline at end of file