优化逻辑

This commit is contained in:
qsc
2026-01-30 22:09:06 +08:00
parent a0c2c712dc
commit c944f24ff9
3 changed files with 240 additions and 393 deletions
+62 -295
View File
@@ -38,194 +38,98 @@ class JX3Commands(Star):
return server return server
async def jx3_helps(self, event: AstrMessageEvent): async def plain_msg(self, event: AstrMessageEvent, action):
"""剑三 功能""" """最终将数据整理成文本发送"""
data = await self.jx3fun.helps() data= await action()
try: try:
if data["code"] == 200: if data["code"] == 200:
url = await self.html_render(data["temp"], data["data"], options={}) return event.plain_result(data["data"])
yield event.image_result(url)
else: else:
yield event.plain_result(data["msg"]) return event.plain_result(data["msg"])
except Exception as e: except Exception as e:
logger.error(f"功能函数执行错误: {e}") logger.error(f"功能函数执行错误: {e}")
yield event.plain_result("猪脑过载,请稍后再试") return event.plain_result("猪脑过载,请稍后再试")
async def image_msg(self, event: AstrMessageEvent, action):
"""最终将数据整理成图片发送"""
data = await action()
try:
if data["code"] == 200:
url = await self.html_render(data["temp"], data["data"], options={})
return event.image_result(url)
else:
return event.plain_result(data["msg"])
except Exception as e:
logger.error(f"功能函数执行错误: {e}")
return event.plain_result("猪脑过载,请稍后再试")
async def jx3_helps(self, event: AstrMessageEvent):
"""剑三 功能"""
return await self.image_msg(event, self.jx3fun.helps)
async def jx3_richang(self, event: AstrMessageEvent,server: str = "" ,num: int = 0): async def jx3_richang(self, event: AstrMessageEvent,server: str = "" ,num: int = 0):
"""剑三 日常 服务器 天数""" """剑三 日常 服务器 天数"""
try: return await self.plain_msg(event, lambda: self.jx3fun.richang(self.serverdefault(server),num))
data= await self.jx3fun.richang(self.serverdefault(server),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_richangyuche(self, event: AstrMessageEvent): async def jx3_richangyuche(self, event: AstrMessageEvent):
"""剑三 日常预测""" """剑三 日常预测"""
try: return await self.image_msg(event, self.jx3fun.richangyuche)
data= await self.jx3fun.richangyuche()
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_xingxiashijian(self, event: AstrMessageEvent,name: str = "穹野卫"): async def jx3_xingxiashijian(self, event: AstrMessageEvent,name: str = "穹野卫"):
"""剑三 名望""" """剑三 名望"""
try: return await self.image_msg(event, lambda: self.jx3fun.xingxiashijian(name))
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("猪脑过载,请稍后再试")
async def jx3_kaifu(self, event: AstrMessageEvent,server: str = ""): async def jx3_kaifu(self, event: AstrMessageEvent,server: str = ""):
"""剑三 开服 服务器""" """剑三 开服 服务器"""
try: return await self.plain_msg(event, lambda: self.jx3fun.kaifu(self.serverdefault(server)))
data= await self.jx3fun.kaifu(self.serverdefault(server))
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_zhuangtai(self, event: AstrMessageEvent): async def jx3_zhuangtai(self, event: AstrMessageEvent):
"""剑三 状态""" """剑三 状态"""
try: return await self.image_msg(event, self.jx3fun.zhuangtai)
data= await self.jx3fun.zhuangtai()
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_shaohua(self, event: AstrMessageEvent,): async def jx3_shaohua(self, event: AstrMessageEvent,):
"""剑三 骚话""" """剑三 骚话"""
try: return await self.plain_msg(event, self.jx3fun.shaohua)
data= await self.jx3fun.shaohua()
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_jigai(self, event: AstrMessageEvent,): async def jx3_jigai(self, event: AstrMessageEvent,):
"""剑三 技改""" """剑三 技改"""
try: return await self.plain_msg(event, self.jx3fun.jigai)
data= await self.jx3fun.jigai()
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_xinwen(self, event: AstrMessageEvent,num:int = 5): async def jx3_xinwen(self, event: AstrMessageEvent,num:int = 5):
"""剑三 新闻""" """剑三 新闻"""
try: return await self.plain_msg(event, lambda: self.jx3fun.xinwen(num))
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): async def jx3_keju(self, event: AstrMessageEvent,subject: str, limit: int = 5):
"""剑三 科举""" """剑三 科举"""
try: return await self.plain_msg(event, lambda: self.jx3fun.keju(subject,limit))
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= ""): async def jx3_huajia(self, event: AstrMessageEvent, name: str= "", server: str = "", map: str= ""):
"""剑三 花价 名称 服务器 地图""" """剑三 花价 名称 服务器 地图"""
try: return await self.image_msg(event, lambda: self.jx3fun.huajia(self.serverdefault(server),name,map))
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): async def jx3_zhuangshi(self, event: AstrMessageEvent, name: str):
"""剑三 装饰 名称""" """剑三 装饰 名称"""
try: return await self.image_msg(event, lambda: self.jx3fun.zhuangshi(name))
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_qiwu(self, event: AstrMessageEvent, name: str): async def jx3_qiwu(self, event: AstrMessageEvent, name: str):
"""剑三 器物 地图名称""" """剑三 器物 地图名称"""
try: return await self.image_msg(event, lambda: self.jx3fun.qiwu(name))
data= await self.jx3fun.qiwu(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 = ""): async def jx3_shapan(self, event: AstrMessageEvent,server: str = ""):
"""剑三 沙盘 服务器""" """剑三 沙盘 服务器"""
@@ -243,18 +147,8 @@ class JX3Commands(Star):
async def jx3_qufuqiyu(self, event: AstrMessageEvent,adventureName: str = "阴阳两界", server: str = ""): async def jx3_qufuqiyu(self, event: AstrMessageEvent,adventureName: str = "阴阳两界", server: str = ""):
"""剑三 奇遇统计 奇遇名称 服务器""" """剑三 奇遇统计 奇遇名称 服务器"""
try: return await self.image_msg(event, lambda: self.jx3fun.qiyu(adventureName,self.serverdefault(server)))
data= await self.jx3fun.qiyu(adventureName,self.serverdefault(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("猪脑过载,请稍后再试")
async def jx3_qiyugonglue(self, event: AstrMessageEvent,name: str): async def jx3_qiyugonglue(self, event: AstrMessageEvent,name: str):
"""剑三 奇遇攻略 奇遇名称""" """剑三 奇遇攻略 奇遇名称"""
@@ -350,48 +244,17 @@ class JX3Commands(Star):
async def jx3_jinjia(self, event: AstrMessageEvent,server: str = "", limit:str = "15"): async def jx3_jinjia(self, event: AstrMessageEvent,server: str = "", limit:str = "15"):
"""剑三 金价 服务器""" """剑三 金价 服务器"""
try: return await self.image_msg(event, lambda: self.jx3fun.jinjia( self.serverdefault(server),limit))
data= await self.jx3fun.jinjia( self.serverdefault(server),limit)
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_wujia(self, event: AstrMessageEvent,Name: str = "秃盒", server: str = ""): async def jx3_wujia(self, event: AstrMessageEvent,Name: str = "秃盒", server: str = ""):
"""剑三 物价 外观名称""" """剑三 物价 外观名称"""
try: return await self.image_msg(event, lambda: self.jx3fun.wujia(Name, self.serverdefault(server)))
data=await self.jx3fun.wujia(Name, self.serverdefault(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("猪脑过载,请稍后再试")
async def jx3_jiaoyihang(self, event: AstrMessageEvent,Name: str = "守缺式",server: str = ""): async def jx3_jiaoyihang(self, event: AstrMessageEvent,Name: str = "守缺式",server: str = ""):
"""剑三 交易行 物品名称 服务器""" """剑三 交易行 物品名称 服务器"""
try: return await self.image_msg(event, lambda: self.jx3fun.jiaoyihang(Name, self.serverdefault(server)))
data=await self.jx3fun.jiaoyihang(Name, self.serverdefault(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("猪脑过载,请稍后再试")
async def jx3_jueshemingpian(self, event: AstrMessageEvent, name: str = "飞翔大野猪", server: str = ""): async def jx3_jueshemingpian(self, event: AstrMessageEvent, name: str = "飞翔大野猪", server: str = ""):
@@ -434,148 +297,52 @@ class JX3Commands(Star):
async def jx3_yanhuachaxun(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""): async def jx3_yanhuachaxun(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""):
"""剑三 烟花 角色 服务器""" """剑三 烟花 角色 服务器"""
try: return await self.image_msg(event, lambda: self.jx3fun.yanhuachaxun( self.serverdefault(server),name))
data= await self.jx3fun.yanhuachaxun( self.serverdefault(server),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_dilujilu(self, event: AstrMessageEvent,server: str = ""): async def jx3_dilujilu(self, event: AstrMessageEvent,server: str = ""):
"""剑三 的卢 服务器""" """剑三 的卢 服务器"""
try: return await self.image_msg(event, lambda: self.jx3fun.dilujilu( self.serverdefault(server)))
data= await self.jx3fun.dilujilu( self.serverdefault(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("猪脑过载,请稍后再试")
async def jx3_tuanduizhaomu(self, event: AstrMessageEvent,keyword: str = "25人普通会战弓月城", server: str = ""): async def jx3_tuanduizhaomu(self, event: AstrMessageEvent,keyword: str = "25人普通会战弓月城", server: str = ""):
"""剑三 招募 副本 服务器""" """剑三 招募 副本 服务器"""
try: return await self.image_msg(event, lambda: self.jx3fun.tuanduizhaomu( self.serverdefault(server),keyword))
data= await self.jx3fun.tuanduizhaomu( self.serverdefault(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 jx3_zhanji(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = "", mode:str = "33"): async def jx3_zhanji(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = "", mode:str = "33"):
"""剑三 战绩 角色 服务器 类型""" """剑三 战绩 角色 服务器 类型"""
try: return await self.image_msg(event, lambda: self.jx3fun.zhanji(name, self.serverdefault(server),mode))
data= await self.jx3fun.zhanji(name, self.serverdefault(server),mode)
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_qiyu(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""): async def jx3_qiyu(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""):
"""剑三 奇遇 角色名称 服务器""" """剑三 奇遇 角色名称 服务器"""
try: return await self.image_msg(event, lambda: self.jx3fun.juesheqiyu(name, self.serverdefault(server)))
data= await self.jx3fun.juesheqiyu(name, self.serverdefault(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("猪脑过载,请稍后再试")
async def jx3_zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = ""): async def jx3_zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = ""):
"""剑三 阵营拍卖 物品名称 服务器""" """剑三 阵营拍卖 物品名称 服务器"""
try: return await self.image_msg(event, lambda: self.jx3fun.zhengyingpaimai( self.serverdefault(server), name))
data= await self.jx3fun.zhengyingpaimai( self.serverdefault(server), 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_fuyaojjiutian(self, event: AstrMessageEvent,server: str = ""): async def jx3_fuyaojjiutian(self, event: AstrMessageEvent,server: str = ""):
"""剑三 扶摇九天 服务器""" """剑三 扶摇九天 服务器"""
try: return await self.plain_msg(event, lambda: self.jx3fun.fuyaojjiutian( self.serverdefault(server)))
data= await self.jx3fun.fuyaojjiutian( self.serverdefault(server))
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_shuma(self, event: AstrMessageEvent,server: str = ""): async def jx3_shuma(self, event: AstrMessageEvent,server: str = ""):
"""剑三 刷马 服务器""" """剑三 刷马 服务器"""
try: return await self.plain_msg(event, lambda: self.jx3fun.shuma( self.serverdefault(server)))
data= await self.jx3fun.shuma( self.serverdefault(server))
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_pianzhi(self, event: AstrMessageEvent,qq: str): async def jx3_pianzhi(self, event: AstrMessageEvent,qq: str):
"""剑三 骗子 QQ""" """剑三 骗子 QQ"""
try: return await self.plain_msg(event, lambda: self.jx3fun.pianzhi(qq))
data= await self.jx3fun.pianzhi(qq)
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_bagua(self, event: AstrMessageEvent,type: str): async def jx3_bagua(self, event: AstrMessageEvent,type: str):
"""剑三 八卦 类型""" """剑三 八卦 类型"""
try: return await self.plain_msg(event, lambda: self.jx3fun.bagua(type))
data= await self.jx3fun.bagua(type)
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_kaifhujiank(self, event: AstrMessageEvent): async def jx3_kaifhujiank(self, event: AstrMessageEvent):
+174 -95
View File
@@ -156,7 +156,10 @@ class JX3Service:
except Exception as e: except Exception as e:
logger.error(f"数据处理时出错: {e}") logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错" return_data["msg"] = "处理接口返回信息时出错"
return return_data
return_data["code"] = 200
return return_data return return_data
async def richangyuche(self) -> Dict[str, Any]: async def richangyuche(self) -> Dict[str, Any]:
@@ -201,16 +204,17 @@ class JX3Service:
return_data["data"]["items"] = items return_data["data"]["items"] = items
return_data["data"]["today"] = data["today"] return_data["data"]["today"] = data["today"]
except Exception as e: except Exception as e:
logger.error(f"richang 数据处理时出错: {e}") logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错" return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板 # 加载模板
try: try:
return_data["temp"] = await load_template("richangyuche.html") return_data["temp"] = await load_template("richangyuche.html")
except FileNotFoundError as e: except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}") logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200 return_data["code"] = 200
@@ -237,8 +241,9 @@ class JX3Service:
return_data["data"]["items"] = data return_data["data"]["items"] = data
return_data["data"]["name"] = name return_data["data"]["name"] = name
except Exception as e: except Exception as e:
logger.error(f"richang 数据处理时出错: {e}") logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错" return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板 # 加载模板
try: try:
@@ -246,7 +251,7 @@ class JX3Service:
except FileNotFoundError as e: except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}") logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200 return_data["code"] = 200
@@ -277,10 +282,13 @@ class JX3Service:
result_msg += f"答案:{m['answer']}\n\n" result_msg += f"答案:{m['answer']}\n\n"
return_data["data"] = result_msg return_data["data"] = result_msg
return_data["code"] = 200
except Exception as e: except Exception as e:
logger.error(f"数据处理时出错: {e}") logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错" return_data["msg"] = "处理接口返回信息时出错"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -304,10 +312,11 @@ class JX3Service:
try: try:
return_data["data"]["data"] = data return_data["data"]["data"] = data
return_data["data"]["server"] = server return_data["data"]["server"] = server
return_data["code"] = 200
except Exception as e: except Exception as e:
logger.error(f"数据处理时出错: {e}") logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错" return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板 # 加载模板
try: try:
@@ -315,6 +324,9 @@ class JX3Service:
except FileNotFoundError as e: except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}") logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -337,17 +349,21 @@ class JX3Service:
# 3. 处理返回数据 # 3. 处理返回数据
try: try:
return_data["data"]["data"] = data return_data["data"]["data"] = data
return_data["code"] = 200
except Exception as e: except Exception as e:
logger.error(f"数据处理时出错: {e}") logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错" return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板 # 加载模板
try: try:
return_data["temp"] = await load_template("zhuangshi.html") return_data["temp"] = await load_template("zhuangshi.html")
except FileNotFoundError as e: except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}") logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -371,17 +387,21 @@ class JX3Service:
try: try:
return_data["data"]["data"] = data return_data["data"]["data"] = data
return_data["data"]["name"] = name return_data["data"]["name"] = name
return_data["code"] = 200
except Exception as e: except Exception as e:
logger.error(f"数据处理时出错: {e}") logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错" return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板 # 加载模板
try: try:
return_data["temp"] = await load_template("qiwu.html") return_data["temp"] = await load_template("qiwu.html")
except FileNotFoundError as e: except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}") logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -406,10 +426,12 @@ class JX3Service:
pic_url = data.get("picUrl") pic_url = data.get("picUrl")
if pic_url: if pic_url:
return_data["data"] = pic_url return_data["data"] = pic_url
return_data["code"] = 200
else: else:
return_data["msg"] = "接口未返回图片URL" return_data["msg"] = "接口未返回图片URL"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -445,11 +467,14 @@ class JX3Service:
return_data["status"] = status_bool return_data["status"] = status_bool
return_data["data"] = status_str return_data["data"] = status_str
return_data["code"] = 200
except Exception as e: except Exception as e:
logger.error(f"kaifu 数据处理时出错: {e}") logger.error(f"kaifu 数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错" return_data["msg"] = "处理接口返回信息时出错"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -467,10 +492,12 @@ class JX3Service:
text = data.get("text") text = data.get("text")
if text: if text:
return_data["data"] = text return_data["data"] = text
return_data["code"] = 200
else: else:
return_data["msg"] = "接口未返回文本" return_data["msg"] = "接口未返回文本"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -484,23 +511,26 @@ class JX3Service:
if not data: if not data:
return_data["msg"] = "获取接口信息失败" return_data["msg"] = "获取接口信息失败"
return return_data return return_data
# 处理返回数据
server_wj = [] try:
server_dx = [] server_wj = []
server_sx = [] server_dx = []
server_sx = []
for itme in data: for itme in data:
if itme['zone'] == "无界区": if itme['zone'] == "无界区":
server_wj.append(itme) server_wj.append(itme)
elif itme['zone'] == "电信区": elif itme['zone'] == "电信区":
server_dx.append(itme) server_dx.append(itme)
elif itme['zone'] == "双线区": elif itme['zone'] == "双线区":
server_sx.append(itme) server_sx.append(itme)
return_data["data"]["server_wj"] = server_wj
return_data["data"]["server_dx"] = server_dx
return_data["data"]["server_sx"] = server_sx
return_data["data"]["server_wj"] = server_wj
return_data["data"]["server_dx"] = server_dx
return_data["data"]["server_sx"] = server_sx
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
# 加载模板 # 加载模板
try: try:
return_data["temp"] = await load_template("qufuzhuangtai.html") return_data["temp"] = await load_template("qufuzhuangtai.html")
@@ -534,11 +564,14 @@ class JX3Service:
result_msg += f"链接:{item.get('url', '无链接')}\n\n" result_msg += f"链接:{item.get('url', '无链接')}\n\n"
return_data["data"] = result_msg return_data["data"] = result_msg
return_data["code"] = 200
except Exception as e:
logger.error(f"jigai 数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -568,11 +601,13 @@ class JX3Service:
result_msg += f"链接:{item.get('url', '无链接')}\n" result_msg += f"链接:{item.get('url', '无链接')}\n"
return_data["data"] = result_msg return_data["data"] = result_msg
return_data["code"] = 200
except Exception as e:
logger.error(f"jigai 数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return_data["code"] = 200
return return_data return return_data
@@ -599,11 +634,13 @@ class JX3Service:
result_msg += f"{new_msg.get('created_at')}\n" result_msg += f"{new_msg.get('created_at')}\n"
return_data["data"] = result_msg return_data["data"] = result_msg
return_data["code"] = 200
except Exception as e: except Exception as e:
logger.error(f"jigai 数据处理时出错: {e}") logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错" return_data["msg"] = "处理接口返回信息时出错"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -634,11 +671,14 @@ class JX3Service:
# 准备模板渲染数据 # 准备模板渲染数据
try: try:
return_data["data"]["items"] = data_list return_data["data"]["items"] = data_list
return_data["code"] = 200
except Exception as e: except Exception as e:
logger.error(f"jinjia 模板数据准备失败: {e}") logger.error(f"模板数据准备失败: {e}")
return_data["msg"] = "系统错误:模板渲染数据准备失败" return_data["msg"] = "系统错误:模板渲染数据准备失败"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -654,14 +694,19 @@ class JX3Service:
return return_data return return_data
# 格式化时间 # 格式化时间
for item in data_list: try:
timestamp = item.get("time") for item in data_list:
if timestamp and isinstance(timestamp, (int, float)): timestamp = item.get("time")
# 修复时间戳:原代码显示这里是毫秒级,除以 1000 if timestamp and isinstance(timestamp, (int, float)):
item["time"] = datetime.fromtimestamp(timestamp / 1000).strftime("%Y-%m-%d %H:%M:%S") # 修复时间戳:原代码显示这里是毫秒级,除以 1000
else: item["time"] = datetime.fromtimestamp(timestamp / 1000).strftime("%Y-%m-%d %H:%M:%S")
item["time"] = "未知时间" # 确保即使 time 字段缺失也不会报错 else:
item["time"] = "未知时间" # 确保即使 time 字段缺失也不会报错
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板 # 加载模板
try: try:
return_data["temp"] = await load_template("qiyuliebiao.html") return_data["temp"] = await load_template("qiyuliebiao.html")
@@ -680,8 +725,9 @@ class JX3Service:
} }
return_data["code"] = 200 return_data["code"] = 200
except Exception as e: except Exception as e:
logger.error(f"qiyu 模板数据准备失败: {e}") logger.error(f"模板数据准备失败: {e}")
return_data["msg"] = "系统错误:模板渲染数据准备失败" return_data["msg"] = "系统错误:模板渲染数据准备失败"
return return_data
return return_data return return_data
@@ -745,11 +791,11 @@ class JX3Service:
"created": datetime.fromtimestamp(first.get("created")).strftime("%Y-%m-%d %H:%M:%S"), "created": datetime.fromtimestamp(first.get("created")).strftime("%Y-%m-%d %H:%M:%S"),
} }
result.append(new_item) result.append(new_item)
return_data["data"]["list"] = result
except Exception as e: except Exception as e:
logger.error(f"处理交易行数据失败: {e}") logger.error(f"处理交易行数据失败: {e}")
return_data["msg"] = "处理交易行数据失败" return_data["msg"] = "处理交易行数据失败"
return return_data
return_data["data"]["list"] = result
# 5. 模板渲染 # 5. 模板渲染
try: try:
@@ -758,6 +804,7 @@ class JX3Service:
except FileNotFoundError as e: except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}") logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return return_data return return_data
@@ -824,16 +871,22 @@ class JX3Service:
return_data["msg"] = "获取接口信息失败" return_data["msg"] = "获取接口信息失败"
return return_data return return_data
# 3. 处理返回数据 (直接提取图片 URL) # 3. 处理返回数据
# 格式化时间 try:
for item in data: for item in data:
timestamp = item.get("time") timestamp = item.get("time")
if timestamp and isinstance(timestamp, (int, float)): if timestamp and isinstance(timestamp, (int, float)):
# 修复时间戳:原代码显示这里是毫秒级,除以 1000 # 修复时间戳:原代码显示这里是毫秒级,除以 1000
item["time"] = datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S") item["time"] = datetime.fromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S")
else: else:
item["time"] = "未知时间" # 确保即使 time 字段缺失也不会报错 item["time"] = "未知时间" # 确保即使 time 字段缺失也不会报错
return_data["data"]["list"] = data
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 4. 加载模板 # 4. 加载模板
try: try:
return_data["temp"] = await load_template("yanhuan.html") return_data["temp"] = await load_template("yanhuan.html")
@@ -842,7 +895,6 @@ class JX3Service:
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data return return_data
return_data["data"]["list"] = data
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
@@ -863,13 +915,19 @@ class JX3Service:
if not data: if not data:
return_data["msg"] = "获取接口信息失败" return_data["msg"] = "获取接口信息失败"
return return_data return return_data
# 3. 处理返回数据 # 3. 处理返回数据
for item in data: try:
item["refresh_time"] = datetime.fromtimestamp(item["refresh_time"]).strftime("%Y-%m-%d %H:%M:%S") for item in data:
item["capture_time"] = datetime.fromtimestamp(item["capture_time"]).strftime("%Y-%m-%d %H:%M:%S") item["refresh_time"] = datetime.fromtimestamp(item["refresh_time"]).strftime("%Y-%m-%d %H:%M:%S")
item["auction_time"] = datetime.fromtimestamp(item["auction_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")
return_data["data"]["list"] = data
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 4. 加载模板 # 4. 加载模板
try: try:
return_data["temp"] = await load_template("dilujilu.html") return_data["temp"] = await load_template("dilujilu.html")
@@ -878,7 +936,6 @@ class JX3Service:
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data return return_data
return_data["data"]["list"] = data
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
@@ -901,9 +958,15 @@ class JX3Service:
return return_data return return_data
# 3. 处理返回数据 # 3. 处理返回数据
for item in data["data"]: try:
item["createTime"] = datetime.fromtimestamp(item["createTime"]).strftime("%Y-%m-%d %H:%M:%S") for item in data["data"]:
item["number"] = f"{item['number']}/{item['maxNumber']}" item["createTime"] = datetime.fromtimestamp(item["createTime"]).strftime("%Y-%m-%d %H:%M:%S")
item["number"] = f"{item['number']}/{item['maxNumber']}"
return_data["data"]["list"] = data["data"]
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 4. 加载模板 # 4. 加载模板
try: try:
@@ -913,7 +976,6 @@ class JX3Service:
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data return return_data
return_data["data"]["list"] = data["data"]
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
@@ -992,6 +1054,7 @@ class JX3Service:
except Exception as e: except Exception as e:
logger.error(f"处理返回数据失败: {e}") logger.error(f"处理返回数据失败: {e}")
return_data["msg"] = "处理返回数据失败" return_data["msg"] = "处理返回数据失败"
return return_data
# 4. 加载模板 # 4. 加载模板
try: try:
@@ -1022,10 +1085,16 @@ class JX3Service:
return_data["msg"] = "获取接口信息失败" return_data["msg"] = "获取接口信息失败"
return return_data return return_data
# 3. 处理返回数据 # 3. 处理返回数据
for item in data: try:
item["time"] = datetime.fromtimestamp(item["time"]).strftime("%Y-%m-%d %H:%M:%S") for item in data:
item["time"] = datetime.fromtimestamp(item["time"]).strftime("%Y-%m-%d %H:%M:%S")
return_data["data"]["list"] = data
except Exception as e:
logger.error(f"处理返回数据失败: {e}")
return_data["msg"] = "处理返回数据失败"
return return_data
# 4. 加载模板 # 4. 加载模板
try: try:
return_data["temp"] = await load_template("zhengyingpaimai.html") return_data["temp"] = await load_template("zhengyingpaimai.html")
@@ -1034,7 +1103,7 @@ class JX3Service:
return_data["msg"] = "系统错误:模板文件不存在" return_data["msg"] = "系统错误:模板文件不存在"
return return_data return return_data
return_data["data"]["list"] = data
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
@@ -1063,11 +1132,12 @@ class JX3Service:
result_msg = f"{server}\n" result_msg = f"{server}\n"
result_msg += f"上次[扶摇九天]开启时间:\n{datetime.fromtimestamp(data_old['time']).strftime('%Y-%m-%d %H:%M:%S')}\n" result_msg += f"上次[扶摇九天]开启时间:\n{datetime.fromtimestamp(data_old['time']).strftime('%Y-%m-%d %H:%M:%S')}\n"
result_msg += f"下次[扶摇九天]开启时间:\n{datetime.fromtimestamp(data_new['time']).strftime('%Y-%m-%d %H:%M:%S')}" result_msg += f"下次[扶摇九天]开启时间:\n{datetime.fromtimestamp(data_new['time']).strftime('%Y-%m-%d %H:%M:%S')}"
return_data["data"] = result_msg
except Exception as e: except Exception as e:
logger.error(f"处理返回数据失败: {e}") logger.error(f"处理返回数据失败: {e}")
return_data["msg"] = "处理返回数据失败" return_data["msg"] = "处理返回数据失败"
return return_data
return_data["data"] = result_msg
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
@@ -1098,11 +1168,12 @@ class JX3Service:
result_msg += f"鲲鹏岛:\n{_data['鲲鹏岛'][0]}\n" result_msg += f"鲲鹏岛:\n{_data['鲲鹏岛'][0]}\n"
result_msg += f"的卢:\n{_data['龙泉府 / 进图(21:10'][0]}\n" result_msg += f"的卢:\n{_data['龙泉府 / 进图(21:10'][0]}\n"
result_msg += f"赤兔:\n{data['data']['note']}" result_msg += f"赤兔:\n{data['data']['note']}"
return_data["data"] = result_msg
except Exception as e: except Exception as e:
logger.error(f"处理返回数据失败: {e}") logger.error(f"处理返回数据失败: {e}")
return_data["msg"] = "处理返回数据失败" return_data["msg"] = "处理返回数据失败"
return return_data
return_data["data"] = result_msg
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
@@ -1146,12 +1217,12 @@ class JX3Service:
) )
result_msg += "\n\n" result_msg += "\n\n"
return_data["data"] = result_msg
except Exception as e: except Exception as e:
logger.error(f"处理返回数据失败: {e}") logger.error(f"处理返回数据失败: {e}")
return_data["msg"] = "处理返回数据失败" return_data["msg"] = "处理返回数据失败"
return return_data
return_data["data"] = result_msg
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
@@ -1183,11 +1254,12 @@ class JX3Service:
result_msg += f"所属吧:{item['name']}\n" result_msg += f"所属吧:{item['name']}\n"
result_msg += f"链接:https://tieba.baidu.com/p/{item['url']}\n" result_msg += f"链接:https://tieba.baidu.com/p/{item['url']}\n"
result_msg += f"日期:{item['date']}\n\n" result_msg += f"日期:{item['date']}\n\n"
return_data["data"] = result_msg
except Exception as e: except Exception as e:
logger.exception("处理返回数据失败") logger.exception("处理返回数据失败")
return_data["msg"] = "处理返回数据失败" return_data["msg"] = "处理返回数据失败"
return return_data
return_data["data"] = result_msg
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
@@ -1229,12 +1301,14 @@ class JX3Service:
try: try:
return_data["data"] = data2["post"]["title"] return_data["data"] = data2["post"]["title"]
content = data2["post"]["content"] content = data2["post"]["content"]
return_data["temp"] = content
except Exception as e: except Exception as e:
logger.exception("处理返回数据失败") logger.exception("处理返回数据失败")
return_data["msg"] = "处理返回数据失败" return_data["msg"] = "处理返回数据失败"
return return_data
return_data["temp"] = content
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
@@ -1267,10 +1341,13 @@ class JX3Service:
return_data["msg"] = msg return_data["msg"] = msg
return_data["data"]["pid"] = pid_list return_data["data"]["pid"] = pid_list
return_data["data"]["num"] = n return_data["data"]["num"] = n
return_data["code"] = 200
except Exception as e: except Exception as e:
logger.exception("处理返回数据失败") logger.exception("处理返回数据失败")
return_data["msg"] = "处理返回数据失败" return_data["msg"] = "处理返回数据失败"
return return_data
return_data["code"] = 200
return return_data return return_data
@@ -1298,10 +1375,12 @@ class JX3Service:
msg += f"【宏脚本】\n{m['macro']}\n\n" msg += f"【宏脚本】\n{m['macro']}\n\n"
return_data["data"] = msg return_data["data"] = msg
return_data["code"] = 200
except Exception as e: except Exception as e:
logger.exception("处理返回数据失败") logger.exception("处理返回数据失败")
return_data["msg"] = "处理返回数据失败" return_data["msg"] = "处理返回数据失败"
return return_data
return_data["code"] = 200
return return_data return return_data
+4 -3
View File
@@ -191,8 +191,8 @@ class Jx3ApiPlugin(Star):
else: else:
raise ValueError(f"缺少参数: {p.name}") raise ValueError(f"缺少参数: {p.name}")
async for ret in handler(*call_args): # 只允许 coroutine
yield ret return await handler(*call_args)
@filter.event_message_type(filter.EventMessageType.ALL) @filter.event_message_type(filter.EventMessageType.ALL)
@@ -214,7 +214,8 @@ class Jx3ApiPlugin(Star):
try: try:
event.stop_event() event.stop_event()
async for ret in self._call_with_auto_args(handler, event, args): ret = await self._call_with_auto_args(handler, event, args)
if ret is not None:
yield ret yield ret
except Exception as e: except Exception as e:
logger.exception(f"指令执行失败: {cmd}, error={e}") logger.exception(f"指令执行失败: {cmd}, error={e}")