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 logger
|
||||||
from astrbot.api import AstrBotConfig
|
from astrbot.api import AstrBotConfig
|
||||||
|
import astrbot.api.message_components as Comp
|
||||||
|
|
||||||
from .request import APIClient
|
from .request import APIClient
|
||||||
from .sqlite import AsyncSQLiteDB
|
from .sqlite import AsyncSQLiteDB
|
||||||
@@ -823,8 +824,8 @@ class JX3Service:
|
|||||||
params = {"server": server, "name": name,"token": self.token}
|
params = {"server": server, "name": name,"token": self.token}
|
||||||
|
|
||||||
# 2. 调用基础请求
|
# 2. 调用基础请求
|
||||||
data: Optional[Dict[str, Any]] = await self._base_request(
|
data: Optional[list[Dict[str, Any]]] = await self._base_request(
|
||||||
"jx3_jieshemingpian", "GET", params=params
|
"jx3_allmingpian", "GET", params=params
|
||||||
)
|
)
|
||||||
|
|
||||||
if not data:
|
if not data:
|
||||||
@@ -832,7 +833,35 @@ class JX3Service:
|
|||||||
return return_data
|
return return_data
|
||||||
|
|
||||||
# 3. 处理返回数据 (直接提取图片 URL)
|
# 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_data["code"] = 200
|
||||||
|
|
||||||
return return_data
|
return return_data
|
||||||
@@ -856,6 +885,7 @@ class JX3Service:
|
|||||||
|
|
||||||
# 3. 处理返回数据 (直接提取图片 URL)
|
# 3. 处理返回数据 (直接提取图片 URL)
|
||||||
return_data["data"] = data['showAvatar']
|
return_data["data"] = data['showAvatar']
|
||||||
|
|
||||||
return_data["code"] = 200
|
return_data["code"] = 200
|
||||||
|
|
||||||
return return_data
|
return return_data
|
||||||
|
|||||||
+14
-1
@@ -94,6 +94,19 @@ class MessageBuilder:
|
|||||||
await event.send(event.plain_result("猪脑过载,请稍后再试"))
|
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):
|
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 = ""):
|
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 = ""):
|
async def jx3_shuijimingpian(self, event: AstrMessageEvent,force: str = "万花", body: str = "萝莉", server: str = ""):
|
||||||
|
|||||||
@@ -321,5 +321,15 @@
|
|||||||
"mount": "",
|
"mount": "",
|
||||||
"star": "1"
|
"star": "1"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"jx3_allmingpian":{
|
||||||
|
"url":"https://www.jx3api.com/data/show/records",
|
||||||
|
"method":"GET",
|
||||||
|
"description":"获取角色全部名片",
|
||||||
|
"params":{
|
||||||
|
"server": "",
|
||||||
|
"name": "",
|
||||||
|
"token": ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user