diff --git a/core/jx3_service.py b/core/jx3_service.py index 55789fd..841c379 100644 --- a/core/jx3_service.py +++ b/core/jx3_service.py @@ -813,3 +813,43 @@ class JX3Service: return_data["code"] = 200 return return_data + + + async def zhengyingpaimai(self, server: str, name: str) -> Dict[str, Any]: + """阵营拍卖""" + return_data = self._init_return_data() + + # 获取配置中的 Token + token = self._config.get("jx3api_token", "") + if token == "": + return_data["msg"] = "系统未配置API访问Token" + return return_data + + # 1. 构造请求参数 + params = {"server": server, "name": name, "token": token} + + # 2. 调用基础请求 + data: Optional[Dict[str, Any]] = await self._base_request( + "jx3_zhengyingpaimai", "GET", params=params + ) + + if not data: + return_data["msg"] = "获取接口信息失败" + return return_data + + # 3. 处理返回数据 + for item in data: + item["time"] = datetime.fromtimestamp(item["time"]).strftime("%Y-%m-%d %H:%M:%S") + + # 4. 加载模板 + try: + return_data["temp"] = load_template("zhengyingpaimai.html") + except FileNotFoundError as e: + logger.error(f"加载模板失败: {e}") + return_data["msg"] = "系统错误:模板文件不存在" + return return_data + + return_data["data"]["list"] = data + return_data["code"] = 200 + + return return_data \ No newline at end of file diff --git a/data/api_config.json b/data/api_config.json index ce47beb..c50e65b 100644 --- a/data/api_config.json +++ b/data/api_config.json @@ -254,5 +254,16 @@ "params":{ "limit": 1 } + }, + "jx3_zhengyingpaimai":{ + "url":"https://www.jx3api.com/data/auction/records", + "method":"GET", + "description":"此接口用于查询阵营拍卖的记录,包括拍卖的物品名称、金额以及相关信息。支持通过区服名称和物品名称进行精确或模糊查询。", + "params":{ + "server": "梦江南", + "name": "玄晶", + "limit": 20, + "token": "" + } } } \ No newline at end of file diff --git a/main.py b/main.py index 2f6f71d..dfc3375 100644 --- a/main.py +++ b/main.py @@ -426,6 +426,22 @@ class Jx3ApiPlugin(Star): yield event.plain_result("猪脑过载,请稍后再试") + @jx3.command("阵营拍卖") + async def jx3_zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = None): + """剑三 阵营拍卖 物品名称 服务器""" + try: + data= await self.jx3fun.zhengyingpaimai(await self.serverdefault(server), name) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + async def terminate(self): """可选择实现异步的插件销毁方法,当插件被卸载/停用时会调用。""" # 关闭数据库连接 diff --git a/templates/zhengyingpaimai.html b/templates/zhengyingpaimai.html new file mode 100644 index 0000000..ec9b9e3 --- /dev/null +++ b/templates/zhengyingpaimai.html @@ -0,0 +1,114 @@ + + +
+ +| 服务器 | +物品名称 | +拍得者 | +所属阵营 | +拍卖价格 | +拍卖时间 | +
|---|---|---|---|---|---|
| {{ m.server }} | +{{ m.name }} | +{{ m.role_name }} | +{{ m.camp_name }} | +{{ m.amount }} | +{{ m.time }} | +