优化逻辑

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
+52 -285
View File
@@ -38,193 +38,97 @@ class JX3Commands(Star):
return server
async def jx3_helps(self, event: AstrMessageEvent):
"""剑三 功能"""
data = await self.jx3fun.helps()
async def plain_msg(self, event: AstrMessageEvent, action):
"""最终将数据整理成文本发送"""
data= await action()
try:
if data["code"] == 200:
url = await self.html_render(data["temp"], data["data"], options={})
yield event.image_result(url)
return event.plain_result(data["data"])
else:
yield event.plain_result(data["msg"])
return event.plain_result(data["msg"])
except Exception as 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):
"""剑三 日常 服务器 天数"""
try:
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, lambda: self.jx3fun.richang(self.serverdefault(server),num))
async def jx3_richangyuche(self, event: AstrMessageEvent):
"""剑三 日常预测"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, self.jx3fun.richangyuche)
async def jx3_xingxiashijian(self, event: AstrMessageEvent,name: str = "穹野卫"):
"""剑三 名望"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.xingxiashijian(name))
async def jx3_kaifu(self, event: AstrMessageEvent,server: str = ""):
"""剑三 开服 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, lambda: self.jx3fun.kaifu(self.serverdefault(server)))
async def jx3_zhuangtai(self, event: AstrMessageEvent):
"""剑三 状态"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, self.jx3fun.zhuangtai)
async def jx3_shaohua(self, event: AstrMessageEvent,):
"""剑三 骚话"""
try:
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, self.jx3fun.shaohua)
async def jx3_jigai(self, event: AstrMessageEvent,):
"""剑三 技改"""
try:
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, self.jx3fun.jigai)
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, lambda: self.jx3fun.xinwen(num))
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, lambda: self.jx3fun.keju(subject,limit))
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.huajia(self.serverdefault(server),name,map))
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.zhuangshi(name))
async def jx3_qiwu(self, event: AstrMessageEvent, name: str):
"""剑三 器物 地图名称"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.qiwu(name))
async def jx3_shapan(self, event: AstrMessageEvent,server: str = ""):
@@ -243,17 +147,7 @@ class JX3Commands(Star):
async def jx3_qufuqiyu(self, event: AstrMessageEvent,adventureName: str = "阴阳两界", server: str = ""):
"""剑三 奇遇统计 奇遇名称 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.qiyu(adventureName,self.serverdefault(server)))
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"):
"""剑三 金价 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.jinjia( self.serverdefault(server),limit))
async def jx3_wujia(self, event: AstrMessageEvent,Name: str = "秃盒", server: str = ""):
"""剑三 物价 外观名称"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.wujia(Name, self.serverdefault(server)))
async def jx3_jiaoyihang(self, event: AstrMessageEvent,Name: str = "守缺式",server: str = ""):
"""剑三 交易行 物品名称 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.jiaoyihang(Name, self.serverdefault(server)))
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 = ""):
"""剑三 烟花 角色 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.yanhuachaxun( self.serverdefault(server),name))
async def jx3_dilujilu(self, event: AstrMessageEvent,server: str = ""):
"""剑三 的卢 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.dilujilu( self.serverdefault(server)))
async def jx3_tuanduizhaomu(self, event: AstrMessageEvent,keyword: str = "25人普通会战弓月城", server: str = ""):
"""剑三 招募 副本 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.tuanduizhaomu( self.serverdefault(server),keyword))
async def jx3_zhanji(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = "", mode:str = "33"):
"""剑三 战绩 角色 服务器 类型"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.zhanji(name, self.serverdefault(server),mode))
async def jx3_qiyu(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""):
"""剑三 奇遇 角色名称 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.juesheqiyu(name, self.serverdefault(server)))
async def jx3_zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = ""):
"""剑三 阵营拍卖 物品名称 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.image_msg(event, lambda: self.jx3fun.zhengyingpaimai( self.serverdefault(server), name))
async def jx3_fuyaojjiutian(self, event: AstrMessageEvent,server: str = ""):
"""剑三 扶摇九天 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, lambda: self.jx3fun.fuyaojjiutian( self.serverdefault(server)))
async def jx3_shuma(self, event: AstrMessageEvent,server: str = ""):
"""剑三 刷马 服务器"""
try:
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, lambda: self.jx3fun.shuma( self.serverdefault(server)))
async def jx3_pianzhi(self, event: AstrMessageEvent,qq: str):
"""剑三 骗子 QQ"""
try:
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, lambda: self.jx3fun.pianzhi(qq))
async def jx3_bagua(self, event: AstrMessageEvent,type: str):
"""剑三 八卦 类型"""
try:
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("猪脑过载,请稍后再试")
return await self.plain_msg(event, lambda: self.jx3fun.bagua(type))
async def jx3_kaifhujiank(self, event: AstrMessageEvent):
+117 -38
View File
@@ -156,6 +156,9 @@ class JX3Service:
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
return_data["code"] = 200
return return_data
@@ -201,8 +204,9 @@ class JX3Service:
return_data["data"]["items"] = items
return_data["data"]["today"] = data["today"]
except Exception as e:
logger.error(f"richang 数据处理时出错: {e}")
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板
try:
@@ -210,7 +214,7 @@ class JX3Service:
except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200
@@ -237,8 +241,9 @@ class JX3Service:
return_data["data"]["items"] = data
return_data["data"]["name"] = name
except Exception as e:
logger.error(f"richang 数据处理时出错: {e}")
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板
try:
@@ -246,7 +251,7 @@ class JX3Service:
except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200
@@ -277,10 +282,13 @@ class JX3Service:
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
return_data["code"] = 200
return return_data
@@ -304,10 +312,11 @@ class JX3Service:
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"] = "处理接口返回信息时出错"
return return_data
# 加载模板
try:
@@ -315,6 +324,9 @@ class JX3Service:
except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200
return return_data
@@ -337,10 +349,11 @@ class JX3Service:
# 3. 处理返回数据
try:
return_data["data"]["data"] = data
return_data["code"] = 200
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板
try:
@@ -348,6 +361,9 @@ class JX3Service:
except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200
return return_data
@@ -371,10 +387,11 @@ class JX3Service:
try:
return_data["data"]["data"] = data
return_data["data"]["name"] = name
return_data["code"] = 200
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板
try:
@@ -382,6 +399,9 @@ class JX3Service:
except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["code"] = 200
return return_data
@@ -406,9 +426,11 @@ class JX3Service:
pic_url = data.get("picUrl")
if pic_url:
return_data["data"] = pic_url
return_data["code"] = 200
else:
return_data["msg"] = "接口未返回图片URL"
return return_data
return_data["code"] = 200
return return_data
@@ -445,10 +467,13 @@ class JX3Service:
return_data["status"] = status_bool
return_data["data"] = status_str
return_data["code"] = 200
except Exception as e:
logger.error(f"kaifu 数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
return_data["code"] = 200
return return_data
@@ -467,9 +492,11 @@ class JX3Service:
text = data.get("text")
if text:
return_data["data"] = text
return_data["code"] = 200
else:
return_data["msg"] = "接口未返回文本"
return return_data
return_data["code"] = 200
return return_data
@@ -484,7 +511,8 @@ class JX3Service:
if not data:
return_data["msg"] = "获取接口信息失败"
return return_data
# 处理返回数据
try:
server_wj = []
server_dx = []
server_sx = []
@@ -500,7 +528,9 @@ class JX3Service:
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:
return_data["temp"] = await load_template("qufuzhuangtai.html")
@@ -534,10 +564,13 @@ class JX3Service:
result_msg += f"链接:{item.get('url', '无链接')}\n\n"
return_data["data"] = result_msg
return_data["code"] = 200
except Exception as e:
logger.error(f"jigai 数据处理时出错: {e}")
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
return_data["code"] = 200
return return_data
@@ -568,11 +601,13 @@ class JX3Service:
result_msg += f"链接:{item.get('url', '无链接')}\n"
return_data["data"] = result_msg
return_data["code"] = 200
except Exception as e:
logger.error(f"jigai 数据处理时出错: {e}")
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return_data["code"] = 200
return return_data
@@ -599,10 +634,12 @@ class JX3Service:
result_msg += f"{new_msg.get('created_at')}\n"
return_data["data"] = result_msg
return_data["code"] = 200
except Exception as e:
logger.error(f"jigai 数据处理时出错: {e}")
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
return_data["code"] = 200
return return_data
@@ -634,10 +671,13 @@ class JX3Service:
# 准备模板渲染数据
try:
return_data["data"]["items"] = data_list
return_data["code"] = 200
except Exception as e:
logger.error(f"jinjia 模板数据准备失败: {e}")
logger.error(f"模板数据准备失败: {e}")
return_data["msg"] = "系统错误:模板渲染数据准备失败"
return return_data
return_data["code"] = 200
return return_data
@@ -654,6 +694,7 @@ class JX3Service:
return return_data
# 格式化时间
try:
for item in data_list:
timestamp = item.get("time")
if timestamp and isinstance(timestamp, (int, float)):
@@ -661,6 +702,10 @@ class JX3Service:
item["time"] = datetime.fromtimestamp(timestamp / 1000).strftime("%Y-%m-%d %H:%M:%S")
else:
item["time"] = "未知时间" # 确保即使 time 字段缺失也不会报错
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 加载模板
try:
@@ -680,8 +725,9 @@ class JX3Service:
}
return_data["code"] = 200
except Exception as e:
logger.error(f"qiyu 模板数据准备失败: {e}")
logger.error(f"模板数据准备失败: {e}")
return_data["msg"] = "系统错误:模板渲染数据准备失败"
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"),
}
result.append(new_item)
return_data["data"]["list"] = result
except Exception as e:
logger.error(f"处理交易行数据失败: {e}")
return_data["msg"] = "处理交易行数据失败"
return_data["data"]["list"] = result
return return_data
# 5. 模板渲染
try:
@@ -758,6 +804,7 @@ class JX3Service:
except FileNotFoundError as e:
logger.error(f"加载模板失败: {e}")
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return return_data
@@ -824,8 +871,8 @@ class JX3Service:
return_data["msg"] = "获取接口信息失败"
return return_data
# 3. 处理返回数据 (直接提取图片 URL)
# 格式化时间
# 3. 处理返回数据
try:
for item in data:
timestamp = item.get("time")
if timestamp and isinstance(timestamp, (int, float)):
@@ -834,6 +881,12 @@ class JX3Service:
else:
item["time"] = "未知时间" # 确保即使 time 字段缺失也不会报错
return_data["data"]["list"] = data
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 4. 加载模板
try:
return_data["temp"] = await load_template("yanhuan.html")
@@ -842,7 +895,6 @@ class JX3Service:
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["data"]["list"] = data
return_data["code"] = 200
return return_data
@@ -865,10 +917,16 @@ class JX3Service:
return return_data
# 3. 处理返回数据
try:
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")
return_data["data"]["list"] = data
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 4. 加载模板
try:
@@ -878,7 +936,6 @@ class JX3Service:
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["data"]["list"] = data
return_data["code"] = 200
return return_data
@@ -901,9 +958,15 @@ class JX3Service:
return return_data
# 3. 处理返回数据
try:
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']}"
return_data["data"]["list"] = data["data"]
except Exception as e:
logger.error(f"数据处理时出错: {e}")
return_data["msg"] = "处理接口返回信息时出错"
return return_data
# 4. 加载模板
try:
@@ -913,7 +976,6 @@ class JX3Service:
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["data"]["list"] = data["data"]
return_data["code"] = 200
return return_data
@@ -992,6 +1054,7 @@ class JX3Service:
except Exception as e:
logger.error(f"处理返回数据失败: {e}")
return_data["msg"] = "处理返回数据失败"
return return_data
# 4. 加载模板
try:
@@ -1023,8 +1086,14 @@ class JX3Service:
return return_data
# 3. 处理返回数据
try:
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. 加载模板
try:
@@ -1034,7 +1103,7 @@ class JX3Service:
return_data["msg"] = "系统错误:模板文件不存在"
return return_data
return_data["data"]["list"] = data
return_data["code"] = 200
return return_data
@@ -1063,11 +1132,12 @@ class JX3Service:
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_new['time']).strftime('%Y-%m-%d %H:%M:%S')}"
return_data["data"] = result_msg
except Exception as e:
logger.error(f"处理返回数据失败: {e}")
return_data["msg"] = "处理返回数据失败"
return return_data
return_data["data"] = result_msg
return_data["code"] = 200
return return_data
@@ -1098,11 +1168,12 @@ class JX3Service:
result_msg += f"鲲鹏岛:\n{_data['鲲鹏岛'][0]}\n"
result_msg += f"的卢:\n{_data['龙泉府 / 进图(21:10'][0]}\n"
result_msg += f"赤兔:\n{data['data']['note']}"
return_data["data"] = result_msg
except Exception as e:
logger.error(f"处理返回数据失败: {e}")
return_data["msg"] = "处理返回数据失败"
return return_data
return_data["data"] = result_msg
return_data["code"] = 200
return return_data
@@ -1146,12 +1217,12 @@ class JX3Service:
)
result_msg += "\n\n"
return_data["data"] = result_msg
except Exception as e:
logger.error(f"处理返回数据失败: {e}")
return_data["msg"] = "处理返回数据失败"
return return_data
return_data["data"] = result_msg
return_data["code"] = 200
return return_data
@@ -1183,11 +1254,12 @@ class JX3Service:
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["data"] = result_msg
return_data["code"] = 200
return return_data
@@ -1229,12 +1301,14 @@ class JX3Service:
try:
return_data["data"] = data2["post"]["title"]
content = data2["post"]["content"]
return_data["temp"] = content
except Exception as e:
logger.exception("处理返回数据失败")
return_data["msg"] = "处理返回数据失败"
return return_data
return_data["temp"] = content
return_data["code"] = 200
return return_data
@@ -1267,10 +1341,13 @@ class JX3Service:
return_data["msg"] = msg
return_data["data"]["pid"] = pid_list
return_data["data"]["num"] = n
return_data["code"] = 200
except Exception as e:
logger.exception("处理返回数据失败")
return_data["msg"] = "处理返回数据失败"
return return_data
return_data["code"] = 200
return return_data
@@ -1298,10 +1375,12 @@ class JX3Service:
msg += f"【宏脚本】\n{m['macro']}\n\n"
return_data["data"] = msg
return_data["code"] = 200
except Exception as e:
logger.exception("处理返回数据失败")
return_data["msg"] = "处理返回数据失败"
return return_data
return_data["code"] = 200
return return_data
+4 -3
View File
@@ -191,8 +191,8 @@ class Jx3ApiPlugin(Star):
else:
raise ValueError(f"缺少参数: {p.name}")
async for ret in handler(*call_args):
yield ret
# 只允许 coroutine
return await handler(*call_args)
@filter.event_message_type(filter.EventMessageType.ALL)
@@ -214,7 +214,8 @@ class Jx3ApiPlugin(Star):
try:
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
except Exception as e:
logger.exception(f"指令执行失败: {cmd}, error={e}")