diff --git a/core/async_task.py b/core/async_task.py index 7e6591c..9ed596e 100644 --- a/core/async_task.py +++ b/core/async_task.py @@ -113,7 +113,7 @@ class AsyncTask: async def init_tasks(self): settings = [ ("kfjk", "开服监控", lambda: self.jx3fun.kaifu(self.server)), - ("xwzx", "新闻资讯", lambda: self.jx3fun.xinwen()), + ("xwzx", "新闻资讯", lambda: self.jx3fun.xinwen(1)), ("smxx", "刷马消息", lambda: self.jx3fun.shuamamsg(self.server,type="horse",subtype="foreshow")), ("ctxx", "赤兔消息", lambda: self.jx3fun.shuamamsg(self.server,type="chitu-horse",subtype="share_msg")), ] diff --git a/core/jx3_commands.py b/core/jx3_commands.py index ca1d386..6be0ad5 100644 --- a/core/jx3_commands.py +++ b/core/jx3_commands.py @@ -150,6 +150,20 @@ class JX3Commands(Star): yield event.plain_result("猪脑过载,请稍后再试") + async def jx3_xinwen(self, event: AstrMessageEvent,num:int = 5): + """剑三 新闻""" + try: + data= await self.jx3fun.xinwen(num) + if data["code"] == 200: + yield event.plain_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + async def jx3_keju(self, event: AstrMessageEvent,subject: str, limit: int = 5): """剑三 科举""" try: diff --git a/core/jx3_data.py b/core/jx3_data.py index 6dbaefe..49ebf53 100644 --- a/core/jx3_data.py +++ b/core/jx3_data.py @@ -542,13 +542,14 @@ class JX3Service: return return_data - async def xinwen(self) -> Dict[str, Any]: + async def xinwen(self, num:int) -> Dict[str, Any]: """新闻资讯""" return_data = self._init_return_data() + params = {"limit": num} # 提取字段可能返回列表 data: Optional[List[Dict[str, Any]]] = await self._base_request( - "jx3_xinweng", "GET") + "jx3_xinweng", "GET", params=params) if not data or not isinstance(data, list): return_data["msg"] = "获取接口信息失败或数据格式错误" @@ -561,7 +562,7 @@ class JX3Service: result_msg = "新闻资讯推送\n" # 仅展示前1条,避免消息过长 - for i, item in enumerate(data[:1], 1): + for i, item in enumerate(data[:num], 1): result_msg += f"{i}. {item.get('title', '无标题')}\n" result_msg += f"时间:{item.get('date', '未知时间')}\n" result_msg += f"链接:{item.get('url', '无链接')}\n" diff --git a/main.py b/main.py index 5b1b2b4..af07f8f 100644 --- a/main.py +++ b/main.py @@ -231,6 +231,7 @@ class Jx3ApiPlugin(Star): "全服状态": self.jx3com.jx3_zhuangtai, "骚话": self.jx3com.jx3_shaohua, "技改": self.jx3com.jx3_jigai, + "公告": self.jx3com.jx3_xinwen, "科举": self.jx3com.jx3_keju, "花价": self.jx3com.jx3_huajia, "装饰": self.jx3com.jx3_zhuangshi, diff --git a/templates/helps.html b/templates/helps.html index cff26c5..e234f10 100644 --- a/templates/helps.html +++ b/templates/helps.html @@ -187,6 +187,12 @@
技改
+
+
官方公告
+
获取官方最新公告及新闻内容,包括新闻分类、标题及链接等信息
+
公告 [数量]
+
+
阵营沙盘
查看服务器当前沙盘信息
@@ -206,25 +212,25 @@
-
科举
+
科举答题
查询科举的题目和答案
科举 内容
-
花价
+
家园鲜花
查询各个地图的鲜花倍率
花价 名称 [服务器] [家园地图]
-
装饰
+
家园装饰
查询家园装饰的详细信息
装饰 名称
-
器物
+
器物图谱
查询某地图可以获得的家园装饰物品信息
器物 地图名称
@@ -353,7 +359,7 @@
使用提示:
- 1. 中括号参数为可选或推荐填写内容
+ 1. 中括号参数为可选内容,不填写则使用程序的默认值
2. 不填写服务器时将使用配置默认服务器 3. 基础指令不需要token可以直接使用