功能增加

This commit is contained in:
qsc
2026-01-25 22:21:38 +08:00
parent d8f0c63fab
commit 4b91ac2eac
8 changed files with 529 additions and 36 deletions
+44
View File
@@ -150,6 +150,50 @@ class JX3Commands(Star):
yield event.plain_result("猪脑过载,请稍后再试")
async def jx3_keju(self, event: AstrMessageEvent,subject: str, limit: int = 5):
"""剑三 科举"""
try:
data= await self.jx3fun.keju(subject,limit)
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_huajia(self, event: AstrMessageEvent, name: str= "", server: str = "", map: str= ""):
"""剑三 花价 名称 服务器 地图"""
try:
data= await self.jx3fun.huajia(self.serverdefault(server),name,map)
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 jx3_zhuangshi(self, event: AstrMessageEvent, name: str):
"""剑三 装饰 名称"""
try:
data= await self.jx3fun.zhuangshi(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 jx3_shapan(self, event: AstrMessageEvent,server: str = ""):
"""剑三 沙盘 服务器"""
try:
+101 -1
View File
@@ -154,7 +154,7 @@ class JX3Service:
return_data["data"] = result_msg + luck_msg + card_msg + team_msg
return_data["code"] = 200
except Exception as e:
logger.error(f"richang 数据处理时出错: {e}")
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
@@ -235,6 +235,7 @@ class JX3Service:
# 3. 处理返回数据
try:
return_data["data"]["items"] = data
return_data["data"]["name"] = name
except Exception as e:
logger.error(f"richang 数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
@@ -252,6 +253,105 @@ class JX3Service:
return return_data
async def keju(self,subject: str, limit: int) -> Dict[str, Any]:
"""科举"""
return_data = self._init_return_data()
# 1. 构造请求参数
params = {"subject": subject, "limit": limit}
# 2. 调用基础请求
data: Optional[Dict[str, Any]] = await self._base_request(
"jx3_keju", "GET", params=params
)
if not data:
return_data["msg"] = "未查询到相关题目"
return return_data
# 3. 处理返回数据
try:
# 格式化字符串,利用字典的 get 方法提供默认值
result_msg = ""
for m in data:
result_msg += f"{m['id']}.{m['question']}\n"
result_msg += f"答案:{m['answer']}\n\n"
return_data["data"] = result_msg
return_data["code"] = 200
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
async def huajia(self,server: str, name: str, map: str) -> Dict[str, Any]:
"""花价"""
return_data = self._init_return_data()
# 1. 构造请求参数
params = {"server": server, "name": name, "map": map}
# 2. 调用基础请求
data: Optional[Dict[str, Any]] = await self._base_request(
"jx3_huajia", "GET", params=params
)
if not data:
return_data["msg"] = "未查询到相关内容"
return return_data
# 3. 处理返回数据
try:
return_data["data"]["data"] = data
return_data["data"]["server"] = server
return_data["code"] = 200
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
# 加载模板
try:
return_data["temp"] = await load_template("huajia.html")
except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
async def zhuangshi(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_zhuangshi", "GET", params=params
)
if not data:
return_data["msg"] = "未查询到相关内容"
return return_data
# 3. 处理返回数据
try:
return_data["data"]["data"] = data
return_data["code"] = 200
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
# 加载模板
try:
return_data["temp"] = await load_template("zhuangshi.html")
except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
async def shapan(self, server: str ) -> Dict[str, Any]:
"""区服沙盘"""
return_data = self._init_return_data()