11
This commit is contained in:
+32
-4
@@ -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
|
||||||
token = self._config.get("jx3api_token", "")
|
token = self._config.get("jx3api_token", "")
|
||||||
logger.info(f"使用的API Token: {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
|
||||||
|
|||||||
@@ -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":""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user