OK
This commit is contained in:
+4
-1
@@ -1,10 +1,13 @@
|
||||
## 更新记录
|
||||
|
||||
### version: 2.1:
|
||||
|
||||
接口地址调整
|
||||
|
||||
### version: 2.0:
|
||||
|
||||
接口地址调整
|
||||
|
||||
|
||||
### version: 1.2.4:
|
||||
|
||||
角色信息查询数据展示优化
|
||||
|
||||
@@ -754,13 +754,39 @@ class JX3Service:
|
||||
|
||||
|
||||
|
||||
async def baizhan(self) -> Dict[str, Any]:
|
||||
"""百战首领"""
|
||||
return_data = self._init_return_data()
|
||||
|
||||
# 1. 构造请求参数
|
||||
params = { "token": self.token}
|
||||
|
||||
data: Optional[Dict[str, Any]] = await self._base_request("jx3_baizhan", "GET", params=params)
|
||||
|
||||
if not data:
|
||||
return_data["msg"] = "获取接口信息失败"
|
||||
return return_data
|
||||
# 处理返回数据
|
||||
|
||||
try:
|
||||
return_data["data"] = data
|
||||
return_data["data"]["start"] = datetime.fromtimestamp(float(data["start"])).strftime("%Y-%m-%d %H:%M:%S")
|
||||
return_data["data"]["end"] = datetime.fromtimestamp(float(data["end"])).strftime("%Y-%m-%d %H:%M:%S")
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"数据处理时出错: {e}")
|
||||
return_data["msg"] = "处理接口返回信息时出错"
|
||||
# 加载模板
|
||||
try:
|
||||
return_data["temp"] = await load_template("baizhan.html")
|
||||
except FileNotFoundError as e:
|
||||
logger.error(f"加载模板失败: {e}")
|
||||
return_data["msg"] = "系统错误:模板文件不存在"
|
||||
return return_data
|
||||
|
||||
return_data["code"] = 200
|
||||
|
||||
return return_data
|
||||
|
||||
|
||||
async def shuamamsg(self,server:str,type:str,subtype:str) -> Dict[str, Any]:
|
||||
|
||||
@@ -272,6 +272,11 @@ class MessageBuilder:
|
||||
return await self.image_msg(event, lambda: self.jx3api.shapan(self.serverdefault(server)))
|
||||
|
||||
|
||||
async def jx3_baizhan(self, event: AstrMessageEvent):
|
||||
"""剑三 百战"""
|
||||
return await self.T2I_image_msg(event, self.jx3api.baizhan)
|
||||
|
||||
|
||||
async def jx3_qufuqiyu(self, event: AstrMessageEvent,adventureName: str = "阴阳两界", server: str = ""):
|
||||
"""剑三 奇遇统计 奇遇名称 服务器"""
|
||||
return await self.T2I_image_msg(event, lambda: self.jx3api.qiyu(adventureName,self.serverdefault(server)))
|
||||
|
||||
+12
-4
@@ -106,6 +106,14 @@
|
||||
"params":{
|
||||
}
|
||||
},
|
||||
"jx3_shaohua":{
|
||||
"url":"https://www.jx3api.com/data/saohua/random",
|
||||
"method":"GET",
|
||||
"description":"获取剑网三骚话",
|
||||
"params":{
|
||||
"name": "万花"
|
||||
}
|
||||
},
|
||||
"aijx3_shapan":{
|
||||
"url":"https://www.jianxiachaguan.cn/api2/aijx3-jxcg/game/get-sand-table-img",
|
||||
"method":"POST",
|
||||
@@ -114,12 +122,12 @@
|
||||
"serverName": "眉间雪"
|
||||
}
|
||||
},
|
||||
"jx3_shaohua":{
|
||||
"url":"https://www.jx3api.com/data/saohua/random",
|
||||
"jx3_baizhan":{
|
||||
"url":"https://www.jx3api.com/data/active/monster",
|
||||
"method":"GET",
|
||||
"description":"获取剑网三骚话",
|
||||
"description":"获取本周百战异闻录玩法中刷新的首领列表及其特殊技能效果",
|
||||
"params":{
|
||||
"name": "万花"
|
||||
"token":""
|
||||
}
|
||||
},
|
||||
"aijx3_qiyu":{
|
||||
|
||||
@@ -16,7 +16,7 @@ from .core.fun_basic import load_as_base64
|
||||
@register("astrbot_plugin_jx3",
|
||||
"fxdyz",
|
||||
"通过调用剑网三API接口获取游戏数据,处理发送。",
|
||||
"2.0",
|
||||
"2.1",
|
||||
"https://github.com/qsc20001102/astrbot_plugin_jx3api"
|
||||
)
|
||||
class Jx3ApiPlugin(Star):
|
||||
@@ -205,6 +205,7 @@ class Jx3ApiPlugin(Star):
|
||||
"攻略": self.jx3cmd.jx3_qiyugonglue,
|
||||
"宏": self.jx3cmd.jx3_hong,
|
||||
"配装": self.jx3cmd.jx3_peizhuang,
|
||||
"百战": self.jx3cmd.jx3_baizhan,
|
||||
"金价": self.jx3cmd.jx3_jinjia,
|
||||
"物价": self.jx3cmd.jx3_wujia,
|
||||
"交易行": self.jx3cmd.jx3_jiaoyihang,
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
name: astrbot_plugin_jx3
|
||||
display_name: 剑网三游戏数据查询工具
|
||||
desc: 通过接口调用剑网三API接口获取游戏数据,处理发送。
|
||||
version: v2.0
|
||||
version: v2.1
|
||||
author: 飞翔大野猪
|
||||
repo: https://github.com/qsc20001102/astrbot_plugin_jx3
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>百战异闻录</title>
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Microsoft YaHei', Arial, sans-serif;
|
||||
background: #f5f6fa;
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin-bottom: 20px;
|
||||
font-size: 32px;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
/* ===== 顶部信息 ===== */
|
||||
.info-bar {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background: white;
|
||||
padding: 16px 20px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 2px 10px rgba(0,0,0,0.08);
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.boss-final {
|
||||
font-size: 22px;
|
||||
font-weight: 800;
|
||||
color: #d63031;
|
||||
}
|
||||
|
||||
/* ===== 网格 ===== */
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(10, 1fr);
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.cell {
|
||||
background: white;
|
||||
border-radius: 10px;
|
||||
padding: 12px;
|
||||
box-shadow: 0 2px 6px rgba(0,0,0,0.08);
|
||||
min-height: 110px;
|
||||
|
||||
/* 核心:全部居中 */
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.index {
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
color: #333;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.boss {
|
||||
color: #d63031;
|
||||
font-weight: 700;
|
||||
font-size: 16px;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.buff {
|
||||
color: #0984e3;
|
||||
font-size: 14px;
|
||||
line-height: 1.5em;
|
||||
word-break: break-word;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<h1>百战异闻录</h1>
|
||||
|
||||
<!-- 顶部信息(同一行) -->
|
||||
<div class="info-bar">
|
||||
<div class="time">
|
||||
开始时间:{{ start }} |
|
||||
结束时间:{{ end }}
|
||||
</div>
|
||||
|
||||
<div class="boss-final">
|
||||
最终Boss:{{ boss }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid">
|
||||
|
||||
{% for row in range(0, list|length, 10) %}
|
||||
{% set slice = list[row:row+10] %}
|
||||
|
||||
{% if (row // 10) % 2 == 1 %}
|
||||
{% set slice = slice[::-1] %}
|
||||
{% endif %}
|
||||
|
||||
{% for item in slice %}
|
||||
<div class="cell">
|
||||
<div class="index">第{{ item.index }}层</div>
|
||||
<div class="boss">{{ item.name }}</div>
|
||||
|
||||
{% if item.data.list %}
|
||||
<div class="buff">
|
||||
{% for b in item.data.list %}
|
||||
{{ b }}{% if not loop.last %} / {% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="buff">无</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user