From f2a1eb90f61103301b090dad17d67c535646989d Mon Sep 17 00:00:00 2001 From: qsc20001102 Date: Mon, 22 Sep 2025 15:30:26 +0800 Subject: [PATCH] 11 --- main.py | 65 +++++++++++++- templates/jiaoyihang.html | 2 +- templates/jinjia.html | 2 +- templates/qiyuliebiao.html | 180 +++++++++++++++++++++++++++++++++++++ 4 files changed, 244 insertions(+), 5 deletions(-) create mode 100644 templates/qiyuliebiao.html diff --git a/main.py b/main.py index 7562213..69ac7ec 100644 --- a/main.py +++ b/main.py @@ -251,7 +251,7 @@ class Jx3ApiPlugin(Star): parts = message_str.split() # 解析消息内容 if len(parts) > 1: - params["serverName"] = parts[1] # 第二个参数为服务器 + params["serverName"] = parts[1] # 服务器 # 获取数据 data = api_data(custom_url,params) @@ -280,11 +280,70 @@ class Jx3ApiPlugin(Star): url = await self.html_render(template_content, render_data, options) yield event.image_result(url) + + except Exception as e: + logger.error(f"处理数据时出错: {e}") + yield event.plain_result("处理接口返回信息时出错") + + + @filter.command("剑三奇遇") + async def jx3_qiyu(self, event: AstrMessageEvent): + """剑三奇遇 奇遇名称 服务器""" + # 接口URL + custom_url = "https://www.jianxiachaguan.cn/api2/aijx3-jxcg/game/get-adventure-record" + # 接口参数 + params = { + "adventureName": "阴阳两界", # 默奇遇 + "serverName": "眉间雪" # 默认服务器 + } + # 获取消息内容 + message_str = event.message_str.strip() + parts = message_str.split() + # 解析消息内容 + if len(parts) > 1: + params["adventureName"] = parts[1] # 奇遇名称 + if len(parts) > 2: + params["serverName"] = parts[2] # 第二个参数为服务器 + # 获取数据 + data = api_data(custom_url,params) + + if not data: + yield event.plain_result("获取获取接口信息失败,请稍后再试") + return + + #数据处理 + for item in data: + # 格式化时间 + if "time" in item: + dt = datetime.fromtimestamp(item["time"]/1000) + item["time"] = dt.strftime("%Y-%m-%d %H:%M:%S") + + # 传入模板渲染 + try: + # 加载模板 + try: + template_content = load_template("qiyuliebiao.html") + except FileNotFoundError as e: + logger.error(f"加载模板失败: {e}") + yield event.plain_result("系统错误:模板文件不存在") + return + # 准备模板渲染数据 + render_data = { + "items": data, + "server": params["serverName"], + "update_time": datetime.now().strftime("%Y-%m-%d %H:%M:%S") + ,"qiyuname": params["adventureName"] + } + # 调整渲染图片的尺寸 + options = { + } + + url = await self.html_render(template_content, render_data, options) + yield event.image_result(url) except Exception as e: logger.error(f"处理数据时出错: {e}") - yield event.plain_result("处理接口返回信息时出错") - + yield event.plain_result("处理接口返回信息时出错") async def terminate(self): """可选择实现异步的插件销毁方法,当插件被卸载/停用时会调用。""" \ No newline at end of file diff --git a/templates/jiaoyihang.html b/templates/jiaoyihang.html index 9d45217..590d7ce 100644 --- a/templates/jiaoyihang.html +++ b/templates/jiaoyihang.html @@ -159,7 +159,7 @@ {% for item in items %} - + {{ item.name }} {{ item.price }} {{ item.sample_size }} diff --git a/templates/jinjia.html b/templates/jinjia.html index 56288a4..2e31e29 100644 --- a/templates/jinjia.html +++ b/templates/jinjia.html @@ -164,7 +164,7 @@ {% for item in items %} - + {{ item.date }} {{ item.priceTieba }} {{ item.priceWanbaolou }} diff --git a/templates/qiyuliebiao.html b/templates/qiyuliebiao.html new file mode 100644 index 0000000..5048d91 --- /dev/null +++ b/templates/qiyuliebiao.html @@ -0,0 +1,180 @@ + + + + + 剑网3奇遇查询 + + + +
+
+

剑网3奇遇查询

+
奇遇名称:{{ qiyuname }} 服务器: {{ server }}
+
+ +
+
共找到 {{ items|length }} 条记录
+
数据更新时间: {{ update_time }}
+
+ +
+ + + + + + + + + + + {% for item in items %} + + + + + + + {% endfor %} + +
奇遇名称服务器角色名称触发时间
{{ item.adventureName }}{{ server }}{{ item.gameName }}{{ item.time }}
+
+ + +
+ + \ No newline at end of file