diff --git a/CHANGELOG.md b/CHANGELOG.md index 96fc915..3adff1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ ## 更新记录 +### version: 3.1: + +增加副本记录查询功能。 + ### version: 3.0: 大部分功能重写,还有部分未写完。 diff --git a/README.md b/README.md index 5ca57ba..7f9ff9f 100644 --- a/README.md +++ b/README.md @@ -79,10 +79,23 @@ 大区状态:区服 | 开服 服务器 技改记录:技改 秘境方位:解密 +副本记录:副本 服务器 角色 掉落统计:掉落 物品 [服务器] [数量] 【魔盒数据】 -资历查询:资历 角色 服务器 -魔盒宏:交易行 物品名称 服务器 +魔盒宏:宏 心法 +资历查询:资历 服务器 角色 +交易行:交易行 服务器 物品 +【避雷功能】 +避雷添加:避雷添加 名称 备注 +避雷查看:避雷查看 +避雷查询:避雷查询 名称 +避雷修改:避雷修改 ID 名称 备注 +避雷删除:避雷删除 ID +【推送功能】 +开服监控:开服监控 +新闻推送:新闻推送 +刷马推送:刷马推送 +赤兔推送:赤兔推送 ## 安装与依赖 diff --git a/core/jx3api_data.py b/core/jx3api_data.py index 85d44ef..761c32b 100644 --- a/core/jx3api_data.py +++ b/core/jx3api_data.py @@ -1776,42 +1776,19 @@ class JX3APIService: processor=processor, template="" ) - return_data = self._init_return_data() - - # 1. 构造请求参数 - params = {"class": type, "limit": "5", "token": self.token} - - # 2. 调用基础请求 - data: Optional[list[Dict[str, Any]]] = await self._base_request( - "jx3_bagua", "GET", params=params - ) - - # 3. 处理返回数据 - try: - if not data: - result_msg = f"未找到相关 {type} 记录。\n" - result_msg += f"可选范围:818 616 鬼网三 鬼网3 树洞 记录 教程 街拍 故事 避雷 吐槽 提问" - else: - result_msg = f"类型:【{type}】\n\n" - - for item in data: - result_msg += f"{item['title']}\n" - result_msg += f"分区:{item['zone']} 服务器:{item['server']}\n" - result_msg += f"所属吧:{item['name']}\n" - result_msg += f"链接:https://tieba.baidu.com/p/{item['url']}\n" - result_msg += f"日期:{item['date']}\n\n" - return_data["data"] = result_msg - except Exception as e: - logger.exception("处理返回数据失败") - return_data["msg"] = "处理返回数据失败" - return return_data - - return_data["code"] = 200 - - return return_data + async def fubengjilu(self, server:str, name: str ) -> Dict[str, Any]: + """副本记录""" + async def processor(data: Any, return_data: Dict[str, Any]) -> None: + return_data["data"]["list"] = data + return await self._request_api( + path="/raid/records", + params= {"server": server,"name": name,"token": self.token,}, + processor=processor, + template="fubenjilu.html" + ) diff --git a/core/message.py b/core/message.py index 6f87ac8..a0fa64f 100644 --- a/core/message.py +++ b/core/message.py @@ -627,6 +627,14 @@ class MessageBuilder: """ 渣男语录""" return await self.plain_msg(event, self.jx3api.zhananyulu) + async def tiebawujia(self, event: AstrMessageEvent, name: str, server: str = "", limit: str = "5", ): + """ 贴吧物价 名称 服务器 数量 """ + return await self.plain_msg(event, lambda: self.jx3api.tiebawujia(name, server, limit)) + + async def bagua(self, event: AstrMessageEvent, server:str = "", limit:str = 10): + """ 818 """ + return await self.plain_msg(event, lambda: self.jx3api.bagua(818,server,limit)) + async def keju(self, event: AstrMessageEvent,subject: str, limit: int = 5): """ 科举 题目 条数""" return await self.plain_msg(event, lambda: self.jx3api.keju(subject,limit)) @@ -647,69 +655,44 @@ class MessageBuilder: """ 解密""" return await self.plain_msg(event, self.jx3api.jiemi) - async def tiebawujia(self, event: AstrMessageEvent, name: str, server: str = "", limit: str = "5", ): - """ 贴吧物价 名称 服务器 数量 """ - return await self.plain_msg(event, lambda: self.jx3api.tiebawujia(name, server, limit)) - - async def bagua(self, event: AstrMessageEvent, server:str = "", limit:str = 10): - """ 818 """ - return await self.plain_msg(event, lambda: self.jx3api.bagua(818,server,limit)) + async def fubeng(self, event: AstrMessageEvent, server:str, name:str): + """ 副本""" + return await self.T2I_image_msg(event, lambda: self.jx3api.fubengjilu(server,name)) async def diaoluo(self, event: AstrMessageEvent, name: str, server: str = "", limit: str = "20",): """ 掉落 物品 服务器 数量 """ return await self.T2I_image_msg(event, lambda: self.jx3api.diaoluo(name, server, limit)) - async def hong(self, event: AstrMessageEvent,name: str = "易筋经"): + + async def hong(self, event: AstrMessageEvent,name: str): """ 宏 心法""" return await self.handler_plain_image_msg(event, lambda: self.jx3box.hong1(name), self.jx3box.hong2) - - async def zili(self, event: AstrMessageEvent, name: str, server: str = ""): + async def zili(self, event: AstrMessageEvent, server: str, name: str): """ 资历 角色名称 服务器""" - return await self.handler_zili_msg(event, name, self.serverdefault(server)) + return await self.handler_zili_msg(event, name, server) - - async def jiaoyihang(self, event: AstrMessageEvent,Name: str = "守缺式",server: str = ""): + async def jiaoyihang(self, event: AstrMessageEvent,server: str, Name: str): """ 交易行 物品名称 服务器""" - return await self.T2I_image_msg(event, lambda: self.jx3box.jiaoyihang(Name, self.serverdefault(server))) + return await self.T2I_image_msg(event, lambda: self.jx3box.jiaoyihang(Name,server)) - - - - - - - - - - - - - - - - async def bilei_add(self, event: AstrMessageEvent,name: str, text: str): """避雷添加 名称 备注""" return await self.plain_msg(event, lambda: self.bilei.add(name,text,event.get_sender_name())) - async def bilei_all(self, event: AstrMessageEvent): """避雷查看""" return await self.T2I_image_msg(event, self.bilei.all) - async def bilei_select(self, event: AstrMessageEvent, name:str): """避雷查询""" return await self.T2I_image_msg(event, lambda: self.bilei.select(name)) - async def bilei_update(self, event: AstrMessageEvent, id:int, name: str, text: str): """避雷修改 ID 名称 备注""" return await self.plain_msg(event, lambda: self.bilei.update(id,name,text,event.get_sender_name())) - async def bilei_delete(self, event: AstrMessageEvent, id:int): """避雷删除 ID""" return await self.plain_msg(event, lambda: self.bilei.delete(id)) @@ -720,19 +703,16 @@ class MessageBuilder: return_msg = await self.jx3at.get_task_info("kfts") await event.send(event.plain_result(return_msg)) - async def xinwenzhixun(self, event: AstrMessageEvent): """ 新闻推送""" return_msg = await self.jx3at.get_task_info("xwts") await event.send(event.plain_result(return_msg)) - async def shuamamsg(self, event: AstrMessageEvent): """ 刷马推送""" return_msg = await self.jx3at.get_task_info("smts") await event.send(event.plain_result(return_msg)) - async def chitusg(self, event: AstrMessageEvent): """ 赤兔推送""" return_msg = await self.jx3at.get_task_info("ctts") diff --git a/main.py b/main.py index 2a609d6..c200680 100644 --- a/main.py +++ b/main.py @@ -19,7 +19,7 @@ from .core.fun_basic import load_as_base64 @register("astrbot_plugin_jx3", "fxdyz", "通过调用剑网三API接口获取游戏数据,处理发送。", - "3.0", + "3.1", "https://github.com/qsc20001102/astrbot_plugin_jx3" ) class Jx3ApiPlugin(Star): @@ -293,21 +293,20 @@ class Jx3ApiPlugin(Star): "吃什么": self. jx3cmd.chishengme, "骚话": self. jx3cmd.shaohua, "渣男语录": self. jx3cmd.zhananyulu, + "贴吧物价": self. jx3cmd.tiebawujia, + "818": self. jx3cmd.bagua, "科举": self. jx3cmd.keju, "区服": self. jx3cmd.zhuangtai, "开服": self. jx3cmd.kaifu, "技改": self. jx3cmd.jigai, "解密": self. jx3cmd.jiemi, - "资历": self. jx3cmd.zili, - "宏": self. jx3cmd.hong, - - - - "818": self. jx3cmd.bagua, - "交易行": self. jx3cmd.jiaoyihang, - "贴吧物价": self. jx3cmd.tiebawujia, + "副本": self. jx3cmd.fubeng, "掉落": self. jx3cmd.diaoluo, + "宏": self. jx3cmd.hong, + "资历": self. jx3cmd.zili, + "交易行": self. jx3cmd.jiaoyihang, + "开服推送": self. jx3cmd.kaifhujiank, "新闻推送": self. jx3cmd.xinwenzhixun, "刷马推送": self. jx3cmd.shuamamsg, diff --git a/metadata.yaml b/metadata.yaml index 0911404..c83a779 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -1,7 +1,7 @@ name: astrbot_plugin_jx3 display_name: 剑网三游戏数据查询工具 desc: 通过接口调用剑网三API接口获取游戏数据,处理发送。 -version: v3.0 +version: v3.1 author: 飞翔大野猪 repo: https://github.com/qsc20001102/astrbot_plugin_jx3 astrbot_version: ">=4.11.0" diff --git a/templates/fubenjilu.html b/templates/fubenjilu.html new file mode 100644 index 0000000..95dbb95 --- /dev/null +++ b/templates/fubenjilu.html @@ -0,0 +1,393 @@ + + +
+ +| 副本名称 | +Boss 奖励状态 | +
|---|---|
|
+
+ {{ m.mapName }}
+
+
+
+ 已获取 {{ m.bossFinished }} / {{ m.bossCount }}
+
+ |
+
+
+
+ {% for boss in m.bossProgress %}
+
+
+
+ #{{ boss.progressId }}
+
+
+
+ {% endfor %}
+
+ {{ boss.name }}
+
+
+
+ {% if boss.finished %}
+
+ 奖励已获取
+ {% else %}
+
+ 奖励未获取
+ {% endif %}
+
+ |
+