修改4
This commit is contained in:
+2
-2
@@ -10,7 +10,7 @@ from astrbot.api import logger
|
||||
from astrbot.api import AstrBotConfig
|
||||
|
||||
|
||||
from .jx3_data import JX3Service
|
||||
from .jx3api_data import JX3APIService
|
||||
from .sqlite import AsyncSQLiteDB
|
||||
|
||||
class AsyncTask:
|
||||
@@ -18,7 +18,7 @@ class AsyncTask:
|
||||
基于 APScheduler 的后台异步监控任务管理类
|
||||
"""
|
||||
|
||||
def __init__(self, context: Context, config: AstrBotConfig, jx3api: JX3Service, sqlite: AsyncSQLiteDB):
|
||||
def __init__(self, context: Context, config: AstrBotConfig, jx3api: JX3APIService, sqlite: AsyncSQLiteDB):
|
||||
self.context = context
|
||||
self.conf = config
|
||||
self.jx3fun = jx3api
|
||||
|
||||
@@ -38,7 +38,7 @@ ACHIEVEMENT_CHOICES = [
|
||||
|
||||
ACHIEVEMENT_CHOICE_MAP = {index: (menu_id, title) for index, menu_id, title in ACHIEVEMENT_CHOICES}
|
||||
|
||||
class JX3Service:
|
||||
class JX3APIService:
|
||||
def __init__(self, config: AstrBotConfig, sqlite: AsyncSQLiteDB, cache_sqlite: Optional[AsyncSQLiteDB] = None):
|
||||
# 实例化 API Client
|
||||
self._api: APIClient = APIClient()
|
||||
@@ -529,6 +529,39 @@ class JX3Service:
|
||||
)
|
||||
|
||||
|
||||
async def zhengyingpaimai(self, server: str, name: str, limit: int) -> Dict[str, Any]:
|
||||
"""阵营拍卖"""
|
||||
# 数据处理
|
||||
async def processor(data: Any, return_data: Dict[str, Any]) -> None:
|
||||
for item in data:
|
||||
item["time"] = format_time(item["time"])
|
||||
return_data["data"]["list"] = data
|
||||
|
||||
return await self._request_api(
|
||||
path="/auction/records",
|
||||
params={"server": server, "name": name, "limit": limit, "token": self.token},
|
||||
processor=processor,
|
||||
template="zhengyingpaimai.html"
|
||||
)
|
||||
|
||||
|
||||
async def dilujilu(self, server: str) -> Dict[str, Any]:
|
||||
"""的卢拍卖"""
|
||||
# 数据处理
|
||||
async def processor(data: Any, return_data: Dict[str, Any]) -> None:
|
||||
for item in data:
|
||||
item["refreshTime"] = format_time(item["refreshTime"])
|
||||
item["captureTime"] = format_time(item["captureTime"])
|
||||
item["auctionTime"] = format_time(item["auctionTime"])
|
||||
return_data["data"]["list"] = data
|
||||
|
||||
return await self._request_api(
|
||||
path="/steed/records",
|
||||
params={"server": server, "token": self.token},
|
||||
processor=processor,
|
||||
template="dilujilu.html"
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1446,44 +1479,7 @@ class JX3Service:
|
||||
|
||||
|
||||
|
||||
async def zhengyingpaimai(self, server: str, name: str) -> Dict[str, Any]:
|
||||
"""阵营拍卖"""
|
||||
return_data = self._init_return_data()
|
||||
|
||||
# 1. 构造请求参数
|
||||
params = {"server": server, "name": name, "token": self.token}
|
||||
|
||||
# 2. 调用基础请求
|
||||
data: Optional[List[Dict[str, Any]]] = await self._base_request(
|
||||
"jx3_zhengyingpaimai", "GET", params=params
|
||||
)
|
||||
|
||||
if not data:
|
||||
return_data["msg"] = "获取接口信息失败"
|
||||
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:
|
||||
return_data["temp"] = await load_template("zhengyingpaimai.html")
|
||||
except FileNotFoundError as e:
|
||||
logger.error(f"加载模板失败: {e}")
|
||||
return_data["msg"] = "系统错误:模板文件不存在"
|
||||
return return_data
|
||||
|
||||
|
||||
return_data["code"] = 200
|
||||
|
||||
return return_data
|
||||
|
||||
|
||||
|
||||
@@ -1636,45 +1632,7 @@ class JX3Service:
|
||||
return return_data
|
||||
|
||||
|
||||
async def dilujilu(self, server: str) -> Dict[str, Any]:
|
||||
"""的卢记录"""
|
||||
return_data = self._init_return_data()
|
||||
|
||||
# 1. 构造请求参数
|
||||
params = {"server": server, "token": self.token}
|
||||
|
||||
# 2. 调用基础请求
|
||||
data: Optional[List[Dict[str, Any]]] = await self._base_request(
|
||||
"jx3_dilujilu", "GET", params=params
|
||||
)
|
||||
|
||||
if not data:
|
||||
return_data["msg"] = "获取接口信息失败"
|
||||
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:
|
||||
return_data["temp"] = await load_template("dilujilu.html")
|
||||
except FileNotFoundError as e:
|
||||
logger.error(f"加载模板失败: {e}")
|
||||
return_data["msg"] = "系统错误:模板文件不存在"
|
||||
return return_data
|
||||
|
||||
return_data["code"] = 200
|
||||
|
||||
return return_data
|
||||
|
||||
|
||||
|
||||
+9
-9
@@ -6,7 +6,7 @@ from astrbot.core.utils.session_waiter import (
|
||||
session_waiter,
|
||||
)
|
||||
|
||||
from .jx3_data import JX3Service
|
||||
from .jx3api_data import JX3APIService
|
||||
from .async_task import AsyncTask
|
||||
from .bilei_data import BiLeidata
|
||||
|
||||
@@ -36,7 +36,7 @@ class MessageBuilder:
|
||||
"18:剑侠录总览"
|
||||
)
|
||||
|
||||
def __init__(self, server: str, jx3api: JX3Service, bilei: BiLeidata, jx3at: AsyncTask, icons: dict[str, dict[str, str]]):
|
||||
def __init__(self, server: str, jx3api: JX3APIService, bilei: BiLeidata, jx3at: AsyncTask, icons: dict[str, dict[str, str]]):
|
||||
self.server = server
|
||||
self.jx3api = jx3api
|
||||
self.bilei = bilei
|
||||
@@ -411,8 +411,13 @@ class MessageBuilder:
|
||||
""" 试炼排行 服务器 心法 """
|
||||
return await self.T2I_image_msg(event, lambda: self.jx3api.shilianpaixing(name, server))
|
||||
|
||||
async def zhengyingpaimai(self, event: AstrMessageEvent,server: str , name: str = "", limit: int = 50 ):
|
||||
""" 阵营拍卖 物品名称 服务器"""
|
||||
return await self.T2I_image_msg(event, lambda: self.jx3api.zhengyingpaimai(server, name, limit))
|
||||
|
||||
|
||||
async def dilujilu(self, event: AstrMessageEvent,server: str ):
|
||||
""" 的卢 服务器"""
|
||||
return await self.T2I_image_msg(event, lambda: self.jx3api.dilujilu(server))
|
||||
|
||||
|
||||
async def keju(self, event: AstrMessageEvent,subject: str, limit: int = 5):
|
||||
@@ -534,9 +539,6 @@ class MessageBuilder:
|
||||
|
||||
|
||||
|
||||
async def zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = ""):
|
||||
""" 阵营拍卖 物品名称 服务器"""
|
||||
return await self.T2I_image_msg(event, lambda: self.jx3api.zhengyingpaimai( self.serverdefault(server), name))
|
||||
|
||||
|
||||
|
||||
@@ -554,9 +556,7 @@ class MessageBuilder:
|
||||
return await self.plain_msg(event, lambda: self.jx3api.tongzhanyy(self.serverdefault(server)))
|
||||
|
||||
|
||||
async def dilujilu(self, event: AstrMessageEvent,server: str = ""):
|
||||
""" 的卢 服务器"""
|
||||
return await self.T2I_image_msg(event, lambda: self.jx3api.dilujilu( self.serverdefault(server)))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user