ok
This commit is contained in:
+33
-3
@@ -4,6 +4,7 @@ from typing import Dict, Any, Optional, List, Union
|
||||
|
||||
from astrbot.api import logger
|
||||
from astrbot.api import AstrBotConfig
|
||||
import astrbot.api.message_components as Comp
|
||||
|
||||
from .request import APIClient
|
||||
from .sqlite import AsyncSQLiteDB
|
||||
@@ -823,8 +824,8 @@ class JX3Service:
|
||||
params = {"server": server, "name": name,"token": self.token}
|
||||
|
||||
# 2. 调用基础请求
|
||||
data: Optional[Dict[str, Any]] = await self._base_request(
|
||||
"jx3_jieshemingpian", "GET", params=params
|
||||
data: Optional[list[Dict[str, Any]]] = await self._base_request(
|
||||
"jx3_allmingpian", "GET", params=params
|
||||
)
|
||||
|
||||
if not data:
|
||||
@@ -832,7 +833,35 @@ class JX3Service:
|
||||
return return_data
|
||||
|
||||
# 3. 处理返回数据 (直接提取图片 URL)
|
||||
return_data["data"] = data['showAvatar']
|
||||
list_msg = []
|
||||
list_url = []
|
||||
|
||||
try:
|
||||
for m in data:
|
||||
msg = f"第{m.get('showIndex')}张 "
|
||||
if m.get('showActive'):
|
||||
msg += "未启用"
|
||||
else:
|
||||
msg += "已启用"
|
||||
list_msg.append(msg)
|
||||
list_url.append(m.get('showAvatar'))
|
||||
|
||||
chain = [
|
||||
Comp.Plain(list_msg[0]),
|
||||
Comp.Image.fromURL(list_url[0]),
|
||||
Comp.Plain(list_msg[1]),
|
||||
Comp.Image.fromURL(list_url[1]),
|
||||
Comp.Plain(list_msg[2]),
|
||||
Comp.Image.fromURL(list_url[2]),
|
||||
]
|
||||
except Exception as e:
|
||||
logger.error(f"数据处理时出错: {e}")
|
||||
return_data["msg"] = "处理接口返回信息时出错"
|
||||
return return_data
|
||||
|
||||
return_data["data"] = chain
|
||||
|
||||
|
||||
return_data["code"] = 200
|
||||
|
||||
return return_data
|
||||
@@ -856,6 +885,7 @@ class JX3Service:
|
||||
|
||||
# 3. 处理返回数据 (直接提取图片 URL)
|
||||
return_data["data"] = data['showAvatar']
|
||||
|
||||
return_data["code"] = 200
|
||||
|
||||
return return_data
|
||||
|
||||
+14
-1
@@ -94,6 +94,19 @@ class MessageBuilder:
|
||||
await event.send(event.plain_result("猪脑过载,请稍后再试"))
|
||||
|
||||
|
||||
async def plain_chain(self, event: AstrMessageEvent, action):
|
||||
"""富媒体消息"""
|
||||
data= await action()
|
||||
try:
|
||||
if data["code"] == 200:
|
||||
await event.send(event.chain_result(data["data"]))
|
||||
else:
|
||||
await event.send(event.plain_result(data["msg"]))
|
||||
except Exception as e:
|
||||
logger.error(f"功能函数执行错误: {e}")
|
||||
await event.send(event.plain_result("猪脑过载,请稍后再试"))
|
||||
|
||||
|
||||
async def handler_plain_image_msg(self, event: AstrMessageEvent, action1, action2):
|
||||
"""两轮会话消息发送通用,先文本列表等反馈序号在发送图片"""
|
||||
# 会话触发
|
||||
@@ -281,7 +294,7 @@ class MessageBuilder:
|
||||
|
||||
async def jx3_jueshemingpian(self, event: AstrMessageEvent, name: str = "飞翔大野猪", server: str = ""):
|
||||
"""剑三 名片 角色 服务器"""
|
||||
return await self.image_msg(event, lambda: self.jx3api.jueshemingpian( self.serverdefault(server),name))
|
||||
return await self.plain_chain(event, lambda: self.jx3api.jueshemingpian( self.serverdefault(server),name))
|
||||
|
||||
|
||||
async def jx3_shuijimingpian(self, event: AstrMessageEvent,force: str = "万花", body: str = "萝莉", server: str = ""):
|
||||
|
||||
Reference in New Issue
Block a user