This commit is contained in:
2025-12-13 11:06:37 +08:00
parent b73bc372f5
commit 2c2504f6d8
3 changed files with 70 additions and 7 deletions
+33 -5
View File
@@ -596,17 +596,16 @@ class JX3Service:
async def jueshemingpian(self, server: str, name:str ) -> Dict[str, Any]: async def jueshemingpian(self, server: str, name:str ) -> Dict[str, Any]:
"""区服沙盘""" """角色名片"""
return_data = self._init_return_data() return_data = self._init_return_data()
token = self._config.get("jx3api_token", "")
logger.info(f"使用的API Token: {token}")
# 获取配置中的 Token
token = self._config.get("jx3api_token", "")
if token == "": if token == "":
return_data["msg"] = "系统未配置API访问Token" return_data["msg"] = "系统未配置API访问Token"
return return_data return return_data
# 1. 构造请求参数 # 1. 构造请求参数
params = {"server": server, "name": name,"token": token} params = {"server": server, "name": name,"token": token}
# 2. 调用基础请求 # 2. 调用基础请求
@@ -623,3 +622,32 @@ class JX3Service:
return_data["code"] = 200 return_data["code"] = 200
return return_data return return_data
async def shuijimingpian(self, force: str, body:str, server:str) -> Dict[str, Any]:
"""角色名片"""
return_data = self._init_return_data()
# 获取配置中的 Token
token = self._config.get("jx3api_token", "")
if token == "":
return_data["msg"] = "系统未配置API访问Token"
return return_data
# 1. 构造请求参数
params = {"server": server, "body": body, "force":force, "token": token}
# 2. 调用基础请求
data: Optional[Dict[str, Any]] = await self._base_request(
"jx3_shuijimingpian", "GET", params=params
)
if not data:
return_data["msg"] = "获取接口信息失败"
return return_data
# 3. 处理返回数据 (直接提取图片 URL)
return_data["data"] = data
return_data["code"] = 200
return return_data
+11
View File
@@ -155,5 +155,16 @@
"name": "夜温言@长安城", "name": "夜温言@长安城",
"token":"" "token":""
} }
},
"jx3_shuijimingpian":{
"url":"https://www.jx3api.com/data/show/random",
"method":"GET",
"description":"此接口用于随机读取一张符合条件的角色名片。",
"params":{
"server": "唯我独尊",
"body": "萝莉",
"force":"万花",
"token":""
}
} }
} }
+26 -2
View File
@@ -10,6 +10,7 @@ from astrbot.api.event import filter, AstrMessageEvent, MessageEventResult, Mess
from astrbot.api.star import Context, Star, register, StarTools from astrbot.api.star import Context, Star, register, StarTools
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 .core.aiosqlite import AsyncSQLite from .core.aiosqlite import AsyncSQLite
from .core.jx3_service import JX3Service from .core.jx3_service import JX3Service
@@ -269,11 +270,34 @@ class Jx3ApiPlugin(Star):
@jx3.command("名片") @jx3.command("名片")
async def jx3_jueshemingpian(self, event: AstrMessageEvent,server: str = "梦江南", name: str = "飞翔大野猪"): async def jx3_jueshemingpian(self, event: AstrMessageEvent,server: str = "梦江南", name: str = "飞翔大野猪"):
"""剑三 沙盘 服务器""" """剑三 名片 服务器 角色"""
try: try:
data= await self.jx3fun.jueshemingpian(server,name) data= await self.jx3fun.jueshemingpian(server,name)
if data["code"] == 200: if data["code"] == 200:
yield event.image_result(data["data"]["showAvatar"]) chain = [
Comp.Plain(f"{data['data']['serverName']}--{data['data']['roleName']} \n"),
Comp.Image.fromURL(f"{data['data']['showAvatar']}")
]
yield event.chain_result(chain)
else:
yield event.plain_result(data["msg"])
return
except Exception as e:
logger.error(f"功能函数执行错误: {e}")
yield event.plain_result("猪脑过载,请稍后再试")
@jx3.command("随机名片")
async def jx3_shuijimingpian(self, event: AstrMessageEvent,force: str = "万花", body: str = "萝莉", server: str = "梦江南"):
"""剑三 随机名片 服务器 角色"""
try:
data= await self.jx3fun.shuijimingpian(force,body,server)
if data["code"] == 200:
chain = [
Comp.Plain(f"{data['data']['serverName']}--{data['data']['roleName']} \n"),
Comp.Image.fromURL(f"{data['data']['showAvatar']}")
]
yield event.chain_result(chain)
else: else:
yield event.plain_result(data["msg"]) yield event.plain_result(data["msg"])
return return