diff --git a/core/jx3_service.py b/core/jx3_service.py index 628d6ac..7ab901e 100644 --- a/core/jx3_service.py +++ b/core/jx3_service.py @@ -625,7 +625,7 @@ class JX3Service: async def shuijimingpian(self, force: str, body:str, server:str) -> Dict[str, Any]: - """角色名片""" + """随机名片""" return_data = self._init_return_data() # 获取配置中的 Token @@ -651,3 +651,49 @@ class JX3Service: return_data["code"] = 200 return return_data + + + async def yanhuachaxun(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_yanhuachaxun", "GET", params=params + ) + + if not data: + return_data["msg"] = "获取接口信息失败" + return return_data + + # 3. 处理返回数据 (直接提取图片 URL) + # 格式化时间 + for item in data: + timestamp = item.get("time") + if timestamp and isinstance(timestamp, (int, float)): + # 修复时间戳:原代码显示这里是毫秒级,除以 1000 + item["time"] = datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S") + else: + item["time"] = "未知时间" # 确保即使 time 字段缺失也不会报错 + + # 4. 加载模板 + try: + return_data["temp"] = load_template("yanhuan.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 diff --git a/data/api_config.json b/data/api_config.json index 23e08a3..1829732 100644 --- a/data/api_config.json +++ b/data/api_config.json @@ -166,5 +166,15 @@ "force":"万花", "token":"" } + }, + "jx3_yanhuachaxun":{ + "url":"https://www.jx3api.com/data/fireworks/records", + "method":"GET", + "description":"此接口用于查询烟花赠送与接收的历史记录,数据可能存在遗漏", + "params":{ + "server": "唯我独尊", + "name": "萝莉", + "token":"" + } } } \ No newline at end of file diff --git a/main.py b/main.py index 7c47345..145e2d3 100644 --- a/main.py +++ b/main.py @@ -308,6 +308,22 @@ class Jx3ApiPlugin(Star): yield event.plain_result("猪脑过载,请稍后再试") + @jx3.command("烟花") + async def jx3_yanhuachaxun(self, event: AstrMessageEvent,server: str = "梦江南", name: str = "飞翔大野猪"): + """剑三 烟花 服务器 角色""" + try: + data= await self.jx3fun.yanhuachaxun(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/yanhuan.html b/templates/yanhuan.html new file mode 100644 index 0000000..ddeda54 --- /dev/null +++ b/templates/yanhuan.html @@ -0,0 +1,99 @@ + + +
+ +| 服务器 | +烟花名称 | +使用地点 | +释放角色 | +接收角色 | +释放时间 | +
|---|---|---|---|---|---|
| {{ m.server }} | +{{ m.name }} | +{{ m.map_name }} | +{{ m.sender }} | +{{ m.receive }} | +{{ m.time }} | +