diff --git a/core/jx3_service.py b/core/jx3_service.py index ed52df7..e264fee 100644 --- a/core/jx3_service.py +++ b/core/jx3_service.py @@ -1,5 +1,7 @@ # pyright: reportArgumentType=false +# pyright: reportAttributeAccessIssue=false +# pyright: reportIndexIssue=false from datetime import datetime from typing import Dict, Any, Optional, List, Union @@ -206,6 +208,42 @@ class JX3Service: return_data["code"] = 200 return return_data + + + async def xingxiashijian(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_xingxiashijian", "GET", params=params + ) + if not data: + return_data["msg"] = "获取接口信息失败" + return return_data + + # 3. 处理返回数据 + try: + return_data["data"]["items"] = data + except Exception as e: + logger.error(f"richang 数据处理时出错: {e}") + return_data["msg"] = "处理接口返回信息时出错" + + # 加载模板 + try: + return_data["temp"] = load_template("xingxiashijian.html") + except FileNotFoundError as e: + logger.error(f"加载模板失败: {e}") + return_data["msg"] = "系统错误:模板文件不存在" + + + return_data["code"] = 200 + + return return_data + async def shapan(self, server: str ) -> Dict[str, Any]: """区服沙盘""" diff --git a/data/api_config.json b/data/api_config.json index 3c26290..2652292 100644 --- a/data/api_config.json +++ b/data/api_config.json @@ -211,5 +211,13 @@ "params":{ "num": "30" } + }, + "jx3_xingxiashijian":{ + "url":"https://www.jx3api.com/data/active/celebs", + "method":"GET", + "description":"查询当前时间的楚天社或云从社的进度。", + "params":{ + "name": "穹野卫" + } } } \ No newline at end of file diff --git a/main.py b/main.py index f1522f5..2fd773d 100644 --- a/main.py +++ b/main.py @@ -149,12 +149,12 @@ class Jx3ApiPlugin(Star): logger.error(f"功能函数执行错误: {e}") yield event.plain_result("猪脑过载,请稍后再试") + @jx3.command("日常预测") async def jx3_richangyuche(self, event: AstrMessageEvent): """剑三 日常预测 服务器 """ try: data= await self.jx3fun.richangyuche() - logger.info(data) if data["code"] == 200: url = await self.html_render(data["temp"], data["data"], options={}) yield event.image_result(url) @@ -165,6 +165,23 @@ class Jx3ApiPlugin(Star): logger.error(f"功能函数执行错误: {e}") yield event.plain_result("猪脑过载,请稍后再试") + + @jx3.command("名望") + async def jx3_xingxiashijian(self, event: AstrMessageEvent,name: str = "穹野卫"): + """剑三 名望""" + try: + data= await self.jx3fun.xingxiashijian(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("猪脑过载,请稍后再试") + + @jx3.command("开服") async def jx3_kaifu(self, event: AstrMessageEvent,server: str = ""): """剑三 开服 服务器""" diff --git a/templates/xingxiashijian.html b/templates/xingxiashijian.html new file mode 100644 index 0000000..632ac24 --- /dev/null +++ b/templates/xingxiashijian.html @@ -0,0 +1,118 @@ + + +
+ +