diff --git a/core/jx3_service.py b/core/jx3_service.py
index 7ab901e..86061e0 100644
--- a/core/jx3_service.py
+++ b/core/jx3_service.py
@@ -697,3 +697,86 @@ class JX3Service:
return_data["code"] = 200
return return_data
+
+
+ async def dilujilu(self, server: 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, "token": token}
+
+ # 2. 调用基础请求
+ data: Optional[Dict[str, Any]] = await self._base_request(
+ "jx3_dilujilu", "GET", params=params
+ )
+
+ if not data:
+ return_data["msg"] = "获取接口信息失败"
+ return return_data
+
+ # 3. 处理返回数据
+ for item in data:
+ item["refresh_time"] = datetime.fromtimestamp(item["refresh_time"]).strftime("%Y-%m-%d %H:%M:%S")
+ item["capture_time"] = datetime.fromtimestamp(item["capture_time"]).strftime("%Y-%m-%d %H:%M:%S")
+ item["auction_time"] = datetime.fromtimestamp(item["auction_time"]).strftime("%Y-%m-%d %H:%M:%S")
+
+ # 4. 加载模板
+ try:
+ return_data["temp"] = load_template("dilujilu.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
+
+
+ async def tuanduizhaomu(self, server: str, keyword: 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, "keyword": keyword, "token": token}
+
+ # 2. 调用基础请求
+ data: Optional[Dict[str, Any]] = await self._base_request(
+ "jx3_tuanduizhaomu", "GET", params=params
+ )
+
+ if not data:
+ return_data["msg"] = "获取接口信息失败"
+ return return_data
+
+ # 3. 处理返回数据
+ for item in data["data"]:
+ item["createTime"] = datetime.fromtimestamp(item["createTime"]).strftime("%Y-%m-%d %H:%M:%S")
+ item["number"] = f"{item['number']}/{item['maxNumber']}"
+
+ # 4. 加载模板
+ try:
+ return_data["temp"] = load_template("tuanduizhaomu.html")
+ except FileNotFoundError as e:
+ logger.error(f"加载模板失败: {e}")
+ return_data["msg"] = "系统错误:模板文件不存在"
+ return return_data
+
+ return_data["data"]["list"] = data["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 1829732..a4f3889 100644
--- a/data/api_config.json
+++ b/data/api_config.json
@@ -176,5 +176,25 @@
"name": "萝莉",
"token":""
}
+ },
+ "jx3_dilujilu":{
+ "url":"https://www.jx3api.com/data/dilu/records",
+ "method":"GET",
+ "description":"此接口用于查询的卢马的刷新、捕获及拍卖记录,包括捕获者、拍卖价格及相关时间信息",
+ "params":{
+ "server": "唯我独尊",
+ "token":""
+ }
+ },
+ "jx3_tuanduizhaomu":{
+ "url":"https://www.jx3api.com/data/member/recruit",
+ "method":"GET",
+ "description":"此接口用于查询指定区服的团队招募信息,包括活动类型、队长信息及当前队伍状态。",
+ "params":{
+ "server": "梦江南",
+ "keyword": "25人普通会战弓月城",
+ "table": 1,
+ "token":""
+ }
}
}
\ No newline at end of file
diff --git a/main.py b/main.py
index 145e2d3..b2d25df 100644
--- a/main.py
+++ b/main.py
@@ -324,6 +324,38 @@ class Jx3ApiPlugin(Star):
yield event.plain_result("猪脑过载,请稍后再试")
+ @jx3.command("的卢")
+ async def jx3_dilujilu(self, event: AstrMessageEvent,server: str = "梦江南"):
+ """剑三 的卢 服务器"""
+ try:
+ data= await self.jx3fun.dilujilu(server)
+ 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_tuanduizhaomu(self, event: AstrMessageEvent,keyword: str = "25人普通会战弓月城", server: str = "梦江南"):
+ """剑三 招募 副本 服务器"""
+ try:
+ data= await self.jx3fun.tuanduizhaomu(server,keyword)
+ 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/dilujilu.html b/templates/dilujilu.html
new file mode 100644
index 0000000..b98337c
--- /dev/null
+++ b/templates/dilujilu.html
@@ -0,0 +1,105 @@
+
+
+
+
+的卢记录
+
+
+
+
+
+
+
的卢记录
+
+
+
+
+ | 服务器 |
+ 开始时间 |
+ 捕获时间 |
+ 捕获人 |
+ 所属阵营 |
+ 拍卖时间 |
+ 拍卖价格 |
+ 拍得者 |
+ 所属阵营 |
+
+
+
+
+ {% for m in list %}
+
+ | {{ m.server }} |
+ {{ m.refresh_time }} |
+ {{ m.capture_time }} |
+ {{ m.capture_role_name }} |
+ {{ m.capture_camp_name }} |
+ {{ m.auction_time }} |
+ {{ m.auction_amount }} |
+ {{ m.auction_role_name }} |
+ {{ m.auction_camp_name }} |
+
+ {% endfor %}
+
+
+
+
+
+
+
diff --git a/templates/tuanduizhaomu.html b/templates/tuanduizhaomu.html
new file mode 100644
index 0000000..3ec9345
--- /dev/null
+++ b/templates/tuanduizhaomu.html
@@ -0,0 +1,97 @@
+
+
+
+
+团队招募
+
+
+
+
+
+
+
团队招募
+
+
+
+
+ | 副本名称 |
+ 招募人 |
+ 招募时间 |
+ 人数 |
+ 招募说明 |
+
+
+
+
+ {% for m in list %}
+
+ | {{ m.activity }} |
+ {{ m.leader }} |
+ {{ m.createTime }} |
+ {{ m.number }} |
+ {{ m.content }} |
+
+ {% endfor %}
+
+
+
+
+
+
+