diff --git a/README.md b/README.md index 9478466..cb2799f 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,10 @@ 插件功能绝大部分都是用AI写的,又进行了调试。 -目前此插件能够完成绝大部分的功能查询,其他功能有空再说。 +目前此插件能够完成部分的功能查询,其他功能有空再说。 -此插件的所有数据几乎全部依赖jx3api提供的API接口,所以进阶功能需要向其购买token才可使用。 -部分进阶功能除了购买token以外还需要自己去抓包推栏app,获得推栏token才可使用。 +此插件的所有数据几乎全部依赖jx3api提供的API接口,所以进阶功能需要向其购买token才可使用。普通功能是免token的。 +部分进阶功能除了购买token以外还需要自己去抓包推栏app,获得推栏app的token才可正常使用。 ## 更新记录 @@ -35,7 +35,7 @@ version: 1.0.0:大部分重要功能已经实现 要想正常使用插件,需要正常配置token和推栏标识。 -下面两个推送功能可以手动开启或者关闭,配置询问的周期时间,以及消息要推送的对象,推送ID可在聊天中使用/std查看。 +下面两个推送功能可以手动开启或者关闭,配置询问的周期时间,以及消息要推送的对象,推送ID可在聊天中使用/std查看。要平台的完整ID。 ## 使用方式 diff --git a/core/jx3_commands.py b/core/jx3_commands.py index d100419..ca1d386 100644 --- a/core/jx3_commands.py +++ b/core/jx3_commands.py @@ -194,6 +194,21 @@ class JX3Commands(Star): yield event.plain_result("猪脑过载,请稍后再试") + async def jx3_qiwu(self, event: AstrMessageEvent, name: str): + """剑三 器物 地图名称""" + try: + data= await self.jx3fun.qiwu(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 jx3_shapan(self, event: AstrMessageEvent,server: str = ""): """剑三 沙盘 服务器""" try: diff --git a/core/jx3_data.py b/core/jx3_data.py index cc3efe2..6dbaefe 100644 --- a/core/jx3_data.py +++ b/core/jx3_data.py @@ -352,6 +352,40 @@ class JX3Service: return return_data + async def qiwu(self,name: str) -> Dict[str, Any]: + """器物""" + return_data = self._init_return_data() + + # 1. 构造请求参数 + params = { "name": name} + + # 2. 调用基础请求 + data: Optional[Dict[str, Any]] = await self._base_request( + "jx3_qiwu", "GET", params=params + ) + if not data: + return_data["msg"] = "未查询到相关内容" + return return_data + + # 3. 处理返回数据 + try: + return_data["data"]["data"] = data + return_data["data"]["name"] = name + return_data["code"] = 200 + except Exception as e: + logger.error(f"数据处理时出错: {e}") + return_data["msg"] = "处理接口返回信息时出错" + + # 加载模板 + try: + return_data["temp"] = await load_template("qiwu.html") + except FileNotFoundError as e: + logger.error(f"加载模板失败: {e}") + return_data["msg"] = "系统错误:模板文件不存在" + + return return_data + + async def shapan(self, server: str ) -> Dict[str, Any]: """区服沙盘""" return_data = self._init_return_data() diff --git a/data/api_config.json b/data/api_config.json index 094ccf7..935a897 100644 --- a/data/api_config.json +++ b/data/api_config.json @@ -267,6 +267,14 @@ "name": "" } }, + "jx3_qiwu":{ + "url":"https://www.jx3api.com/data/home/travel", + "method":"GET", + "description":"此接口用于查询指定地图的装饰物品产出信息,包括装饰的属性、来源和外观等内容。", + "params":{ + "name": "" + } + }, "jx3box_qiyugonglue":{ "url":"https://node.jx3box.com/serendipities", "method":"GET", diff --git a/main.py b/main.py index 753db09..5b1b2b4 100644 --- a/main.py +++ b/main.py @@ -234,6 +234,7 @@ class Jx3ApiPlugin(Star): "科举": self.jx3com.jx3_keju, "花价": self.jx3com.jx3_huajia, "装饰": self.jx3com.jx3_zhuangshi, + "器物": self.jx3com.jx3_qiwu, "沙盘": self.jx3com.jx3_shapan, "奇遇统计": self.jx3com.jx3_qufuqiyu, "奇遇攻略": self.jx3com.jx3_qiyugonglue, diff --git a/templates/helps.html b/templates/helps.html index 15f9046..cff26c5 100644 --- a/templates/helps.html +++ b/templates/helps.html @@ -216,6 +216,18 @@