This commit is contained in:
2026-04-26 17:42:16 +08:00
parent bac9fb8440
commit 58dab53255
11 changed files with 947 additions and 748 deletions
+4
View File
@@ -1,5 +1,9 @@
## 更新记录
### version: 2.2
接口地址调整,增加部分功能
### version: 2.1
接口地址调整
+562 -529
View File
File diff suppressed because it is too large Load Diff
+79 -72
View File
@@ -277,24 +277,74 @@ class MessageBuilder:
return await self.T2I_image_msg(event, self.jx3api.baizhan)
async def jx3_qufuqiyu(self, event: AstrMessageEvent,adventureName: str = "阴阳两界", server: str = ""):
async def jx3_fuyaojjiutian(self, event: AstrMessageEvent,server: str = ""):
"""剑三 扶摇九天 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.fuyaojjiutian( self.serverdefault(server)))
async def jx3_zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = ""):
"""剑三 阵营拍卖 物品名称 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhengyingpaimai( self.serverdefault(server), name))
async def jx3_dilujilu(self, event: AstrMessageEvent,server: str = ""):
"""剑三 的卢 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.dilujilu( self.serverdefault(server)))
async def jx3_yanhuachaxun(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""):
"""剑三 烟花 角色 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.yanhuachaxun( self.serverdefault(server),name))
async def jx3_pianzhi(self, event: AstrMessageEvent,qq: str):
"""剑三 骗子 QQ"""
return await self.plain_msg(event, lambda: self.jx3api.pianzhi(qq))
async def jx3_juesheqiyu(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""):
"""剑三 奇遇 角色名称 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.juesheqiyu(name, self.serverdefault(server)))
async def jx3_qiyutongji(self, event: AstrMessageEvent,adventureName: str = "阴阳两界", server: str = ""):
"""剑三 奇遇统计 奇遇名称 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.qiyu(adventureName,self.serverdefault(server)))
async def jx3_qiyugonglue(self, event: AstrMessageEvent,name: str):
"""剑三 奇遇攻略 奇遇名称"""
return await self.T2I_image_msg(event, lambda: self.jx3api.qiyugonglue(name))
return await self.T2I_image_msg(event, lambda: self.jx3api.qiyutongji(adventureName,self.serverdefault(server)))
async def jx3_hong(self, event: AstrMessageEvent,name: str = "易筋经"):
"""剑三 宏 心法"""
return await self.handler_plain_image_msg(event, lambda: self.jx3api.hong1(name), self.jx3api.hong2)
async def jx3_zhanji(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = "", mode:str = "33"):
"""剑三 战绩 角色 服务器 类型"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhanji(name, self.serverdefault(server),mode))
async def jx3_peizhuang(self, event: AstrMessageEvent,name: str = "易筋经", tags: str = ""):
"""剑三 配装 心法"""
return await self.plain_msg(event, lambda: self.jx3api.peizhuang( name,tags))
async def jx3_mingjianpaihang(self, event: AstrMessageEvent,limit: str = "50", mode:str = "33"):
"""剑三 排行 数量 类型"""
return await self.T2I_image_msg(event, lambda: self.jx3api.mingjianpaihang(limit,mode))
async def jx3_tuanduizhaomu(self, event: AstrMessageEvent,keyword: str = "25人普通会战弓月城", server: str = ""):
"""剑三 招募 副本 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.tuanduizhaomu( self.serverdefault(server),keyword))
async def jx3_jueshe(self, event: AstrMessageEvent,name: str, server: str = ""):
"""剑三 角色 名称 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.jueshe(name, self.serverdefault(server)))
async def jx3_jueshemingpian(self, event: AstrMessageEvent, name: str = "飞翔大野猪", server: str = ""):
"""剑三 名片 角色 服务器"""
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 = ""):
"""剑三 随机名片 职业 体型 服务器"""
return await self.image_msg(event, lambda: self.jx3api.shuijimingpian(force,body, self.serverdefault(server)))
async def jx3_shuma(self, event: AstrMessageEvent,server: str = ""):
"""剑三 刷马 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.shuma( self.serverdefault(server)))
async def jx3_jinjia(self, event: AstrMessageEvent,server: str = "", limit:str = "15"):
@@ -312,68 +362,25 @@ class MessageBuilder:
return await self.T2I_image_msg(event, lambda: self.jx3api.jiaoyihang(Name, self.serverdefault(server)))
async def jx3_jueshemingpian(self, event: AstrMessageEvent, name: str = "飞翔大野猪", server: str = ""):
"""剑三 名片 角色 服务器"""
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 = ""):
"""剑三 随机名片 职业 体型 服务器"""
return await self.image_msg(event, lambda: self.jx3api.shuijimingpian(force,body, self.serverdefault(server)))
async def jx3_yanhuachaxun(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""):
"""剑三 烟花 角色 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.yanhuachaxun( self.serverdefault(server),name))
async def jx3_dilujilu(self, event: AstrMessageEvent,server: str = ""):
"""剑三 的卢 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.dilujilu( self.serverdefault(server)))
async def jx3_tuanduizhaomu(self, event: AstrMessageEvent,keyword: str = "25人普通会战弓月城", server: str = ""):
"""剑三 招募 副本 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.tuanduizhaomu( self.serverdefault(server),keyword))
async def jx3_zhanji(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = "", mode:str = "33"):
"""剑三 战绩 角色 服务器 类型"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhanji(name, self.serverdefault(server),mode))
async def jx3_qiyu(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""):
"""剑三 奇遇 角色名称 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.juesheqiyu(name, self.serverdefault(server)))
async def jx3_zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = ""):
"""剑三 阵营拍卖 物品名称 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhengyingpaimai( self.serverdefault(server), name))
async def jx3_fuyaojjiutian(self, event: AstrMessageEvent,server: str = ""):
"""剑三 扶摇九天 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.fuyaojjiutian( self.serverdefault(server)))
async def jx3_shuma(self, event: AstrMessageEvent,server: str = ""):
"""剑三 刷马 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.shuma( self.serverdefault(server)))
async def jx3_pianzhi(self, event: AstrMessageEvent,qq: str):
"""剑三 骗子 QQ"""
return await self.plain_msg(event, lambda: self.jx3api.pianzhi(qq))
async def jx3_bagua(self, event: AstrMessageEvent,name: str = "818"):
"""剑三 八卦 类型"""
return await self.plain_msg(event, lambda: self.jx3api.bagua(name))
async def jx3_jueshe(self, event: AstrMessageEvent,name: str, server: str = ""):
"""剑三 角色 名称 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.jueshe(name, self.serverdefault(server)))
async def jx3_qiyugonglue(self, event: AstrMessageEvent,name: str):
"""剑三 奇遇攻略 奇遇名称"""
return await self.T2I_image_msg(event, lambda: self.jx3api.qiyugonglue(name))
async def jx3_hong(self, event: AstrMessageEvent,name: str = "易筋经"):
"""剑三 宏 心法"""
return await self.handler_plain_image_msg(event, lambda: self.jx3api.hong1(name), self.jx3api.hong2)
async def jx3_peizhuang(self, event: AstrMessageEvent,name: str = "易筋经", tags: str = ""):
"""剑三 配装 心法"""
return await self.plain_msg(event, lambda: self.jx3api.peizhuang( name,tags))
async def bilei_add(self, event: AstrMessageEvent,name: str, text: str):
"""避雷添加 名称 备注"""
+122 -98
View File
@@ -130,38 +130,37 @@
"token":""
}
},
"aijx3_qiyu":{
"url":"https://www.jianxiachaguan.cn/api2/aijx3-jxcg/game/get-adventure-record",
"method":"POST",
"description":"获取剑网三某区服奇遇触发记录",
"jx3_fuyaojiutian":{
"url":"https://www.jx3api.com/data/active/next/event",
"method":"GET",
"description":"获取某区服扶摇九天的下次开启时间",
"params":{
"adventureName": "阴阳两界",
"serverName": "眉间雪"
"server": "梦江南",
"token": ""
}
},
"jx3_jieshemingpian":{
"url":"https://www.jx3api.com/data/show/card",
"jx3_zhengyingpaimai":{
"url":"https://www.jx3api.com/data/auction/records",
"method":"GET",
"description":"此接口用于查询指定角色的名片墙信息,包括角色展示图片和展示数据的唯一标识。",
"description":"此接口用于查询阵营拍卖的记录,包括拍卖的物品名称、金额以及相关信息。支持通过区服名称和物品名称进行精确或模糊查询。",
"params":{
"server": "眉间雪",
"name": "夜温言@长安城",
"token":""
"server": "梦江南",
"name": "玄晶",
"limit": 20,
"token": ""
}
},
"jx3_shuijimingpian":{
"url":"https://www.jx3api.com/data/show/random",
"jx3_dilujilu":{
"url":"https://www.jx3api.com/data/steed/records",
"method":"GET",
"description":"此接口用于随机读取一张符合条件的角色名片。",
"description":"此接口用于查询的卢马的刷新、捕获及拍卖记录,包括捕获者、拍卖价格及相关时间信息",
"params":{
"server": "唯我独尊",
"body": "萝莉",
"force":"万花",
"token":""
}
},
"jx3_yanhuachaxun":{
"url":"https://www.jx3api.com/data/fireworks/records",
"url":"https://www.jx3api.com/data/show/records",
"method":"GET",
"description":"此接口用于查询烟花赠送与接收的历史记录,数据可能存在遗漏",
"params":{
@@ -170,44 +169,34 @@
"token":""
}
},
"jx3_dilujilu":{
"url":"https://www.jx3api.com/data/dilu/records",
"jx3_pianzhi":{
"url":"https://www.jx3api.com/data/fraud/detailed",
"method":"GET",
"description":"此接口用于查询的卢马的刷新、捕获及拍卖记录,包括捕获者、拍卖价格及相关时间信息",
"description":"此接口用于通过用户的 QQ 号搜索其在贴吧上的行骗记录,包括贴吧名称、记录标题和详细内容。",
"params":{
"server": "唯我独尊",
"uid": "",
"token": ""
}
},
"jx3_juesheqiyu":{
"url":"https://www.jx3api.com/data/event/records",
"method":"GET",
"description":"此接口用于查询指定角色的奇遇触发记录,包括奇遇事件、状态及触发时间。注意,数据可能存在遗漏",
"params":{
"server": "梦江南",
"name": "飞翔大野猪",
"token":""
}
},
"jx3_tuanduizhaomu":{
"url":"https://www.jx3api.com/data/member/recruit",
"method":"GET",
"description":"此接口用于查询指定区服的团队招募信息,包括活动类型、队长信息及当前队伍状态。",
"jx3_qiyutongji":{
"url":"https://www.jx3api.com/data/event/statistics",
"method":"POST",
"description":"获取剑网三某区服奇遇触发记录",
"params":{
"name": "阴阳两界",
"server": "梦江南",
"keyword": "25人普通会战弓月城",
"table": 1,
"token":""
}
},
"jx3_jinjia":{
"url":"https://www.jx3api.com/data/trade/demon",
"method":"GET",
"description":"金价比例信息",
"params":{
"server": "梦江南",
"limit": "10",
"token":""
}
},
"jx3_wujia":{
"url":"https://www.jx3api.com/data/trade/records",
"method":"GET",
"description":"此接口用于统计指定物品的黑市价格信息,包括成交、出售、收购等详细记录。",
"params":{
"server": "梦江南",
"name": "秃盒",
"token":""
"limit": "10",
"token": ""
}
},
"jx3_zhanji":{
@@ -222,27 +211,98 @@
"token":""
}
},
"jx3_qiyu":{
"url":"https://www.jx3api.com/data/luck/adventure",
"jx3_mingjianpaihang":{
"url":"https://www.jx3api.com/data/arena/awesome",
"method":"GET",
"description":"此接口用于查询指定角色的奇遇触发记录,包括奇遇事件、状态及触发时间。注意,数据可能存在遗漏",
"description":"查询名剑大会的排行榜信息,包括玩家排名、分数、胜率等详细竞技数据",
"params":{
"server": "梦江南",
"name": "飞翔大野猪",
"limit": "50",
"mode": "33",
"ticket": "",
"token":""
}
},
"jx3_zhengyingpaimai":{
"url":"https://www.jx3api.com/data/auction/records",
"jx3_tuanduizhaomu":{
"url":"https://www.jx3api.com/data/recruit/search",
"method":"GET",
"description":"此接口用于查询阵营拍卖的记录,包括拍卖的物品名称、金额以及相关信息。支持通过区服名称和物品名称进行精确或模糊查询。",
"description":"此接口用于查询指定区服的团队招募信息,包括活动类型、队长信息及当前队伍状态。",
"params":{
"server": "梦江南",
"name": "玄晶",
"limit": 20,
"keyword": "25人普通会战弓月城",
"table": 1,
"token":""
}
},
"jx3_jueshexinxi":{
"url":"https://www.jx3api.com/data/role/detail",
"method":"GET",
"description":"获取角色信息",
"params":{
"server": "",
"name": "",
"token": ""
}
},
"jx3_jieshemingpian":{
"url":"https://www.jx3api.com/data/card/record",
"method":"GET",
"description":"此接口用于查询指定角色的名片墙信息,包括角色展示图片和展示数据的唯一标识。",
"params":{
"server": "眉间雪",
"name": "夜温言@长安城",
"token":""
}
},
"jx3_allmingpian":{
"url":"https://www.jx3api.com/data/card/records",
"method":"GET",
"description":"获取角色全部名片",
"params":{
"server": "",
"name": "",
"token": ""
}
},
"jx3_shuijimingpian":{
"url":"https://www.jx3api.com/data/card/random",
"method":"GET",
"description":"此接口用于随机读取一张符合条件的角色名片。",
"params":{
"server": "唯我独尊",
"body": "萝莉",
"force":"万花",
"token":""
}
},
"jx3_jinjia":{
"url":"https://www.jx3api.com/data/trade/demon",
"method":"GET",
"description":"金价比例信息",
"params":{
"server": "梦江南",
"limit": "10",
"token":""
}
},
"jx3_waiguan":{
"url":"https://www.jx3api.com/data/trade/item/search",
"method":"GET",
"description":"统计外观物品的模糊搜索结果",
"params":{
"name": "秃盒",
"token":""
}
},
"jx3_wujia":{
"url":"https://www.jx3api.com/data/trade/records",
"method":"GET",
"description":"此接口用于统计指定物品的黑市价格信息,包括成交、出售、收购等详细记录。",
"params":{
"server": "梦江南",
"name": "秃盒",
"token":""
}
},
"jx3_jiaoyihang":{
"url":"https://www.jx3api.com/data/trade/market",
"method":"GET",
@@ -253,17 +313,8 @@
"token": ""
}
},
"jx3_fuyaojiutian":{
"url":"https://www.jx3api.com/data/active/next/event",
"method":"GET",
"description":"获取某区服扶摇九天的下次开启时间",
"params":{
"server": "梦江南",
"token": ""
}
},
"jx3_shuama":{
"url":"https://www.jx3api.com/data/horse/ranch",
"url":"https://www.jx3api.com/data/ranch/records",
"method":"GET",
"description":"获取某区服坐骑刷新时间",
"params":{
@@ -271,15 +322,6 @@
"token": ""
}
},
"jx3_pianzhi":{
"url":"https://www.jx3api.com/data/fraud/detailed",
"method":"GET",
"description":"此接口用于通过用户的 QQ 号搜索其在贴吧上的行骗记录,包括贴吧名称、记录标题和详细内容。",
"params":{
"uid": "",
"token": ""
}
},
"jx3_bagua":{
"url":"https://www.jx3api.com/data/tieba/random",
"method":"GET",
@@ -337,25 +379,7 @@
"mount": "",
"star": "1"
}
},
"jx3_allmingpian":{
"url":"https://www.jx3api.com/data/show/records",
"method":"GET",
"description":"获取角色全部名片",
"params":{
"server": "",
"name": "",
"token": ""
}
},
"jx3_jueshexinxi":{
"url":"https://www.jx3api.com/data/role/detailed",
"method":"GET",
"description":"获取角色信息",
"params":{
"server": "",
"name": "",
"token": ""
}
}
}
+20 -18
View File
@@ -1,5 +1,6 @@
import inspect
from pathlib import Path
from typing import cast
from astrbot.api.event import filter, AstrMessageEvent
from astrbot.api.star import Context, Star, register, StarTools
@@ -16,7 +17,7 @@ from .core.fun_basic import load_as_base64
@register("astrbot_plugin_jx3",
"fxdyz",
"通过调用剑网三API接口获取游戏数据,处理发送。",
"2.1",
"2.2",
"https://github.com/qsc20001102/astrbot_plugin_jx3api"
)
class Jx3ApiPlugin(Star):
@@ -139,11 +140,11 @@ class Jx3ApiPlugin(Star):
# 数据库实例化
self.local_sql_db = AsyncSQLiteDB(str(self.local_data_path))
self.plugin_sql_db = AsyncSQLiteDB(str(self.plugin_data_path))
# 剑网三功能实例化
self.bilei = BiLeidata(self.local_sql_db)
self.jx3api = JX3Service(str(self.api_data_path), self.conf, self.plugin_sql_db)
self.jx3at = AsyncTask(self.context, self.conf, self.jx3api, self.local_sql_db)
self.jx3at = AsyncTask(cast(Context, self.context), self.conf, self.jx3api, self.local_sql_db)
self.jx3cmd = MessageBuilder(self.server, self.jx3api, self.bilei, self.jx3at, self.icons)
self.jx3cmd = MessageBuilder(self.server, self.jx3api, self.bilei, self.jx3at, self.icons)
@@ -186,7 +187,7 @@ class Jx3ApiPlugin(Star):
self.command_map = {
"功能": self.jx3cmd.jx3_helps,
"日常": self.jx3cmd.jx3_richang,
"日常预测": self.jx3cmd.jx3_richangyuche,
"月历": self.jx3cmd.jx3_richangyuche,
"名望": self.jx3cmd.jx3_xingxiashijian,
"科举": self.jx3cmd.jx3_keju,
"花价": self.jx3cmd.jx3_huajia,
@@ -201,27 +202,28 @@ class Jx3ApiPlugin(Star):
"小药": self.jx3cmd.jx3_xiaoyao,
"骚话": self.jx3cmd.jx3_shaohua,
"沙盘": self.jx3cmd.jx3_shapan,
"统计": self.jx3cmd.jx3_qufuqiyu,
"攻略": self.jx3cmd.jx3_qiyugonglue,
"": self.jx3cmd.jx3_hong,
"配装": self.jx3cmd.jx3_peizhuang,
"百战": self.jx3cmd.jx3_baizhan,
"扶摇": self.jx3cmd.jx3_fuyaojjiutian,
"拍卖": self.jx3cmd.jx3_zhengyingpaimai,
"的卢": self.jx3cmd.jx3_dilujilu,
"烟花": self.jx3cmd.jx3_yanhuachaxun,
"骗子": self.jx3cmd.jx3_pianzhi,
"查询": self.jx3cmd.jx3_juesheqiyu,
"统计": self.jx3cmd.jx3_qiyutongji,
"战绩": self.jx3cmd.jx3_zhanji,
"排行": self.jx3cmd.jx3_mingjianpaihang,
"招募": self.jx3cmd.jx3_tuanduizhaomu,
"角色": self.jx3cmd.jx3_jueshe,
"名片": self.jx3cmd.jx3_jueshemingpian,
"随机": self.jx3cmd.jx3_shuijimingpian,
"刷马": self.jx3cmd.jx3_shuma,
"金价": self.jx3cmd.jx3_jinjia,
"物价": self.jx3cmd.jx3_wujia,
"交易行": self.jx3cmd.jx3_jiaoyihang,
"名片": self.jx3cmd.jx3_jueshemingpian,
"随机名片": self.jx3cmd.jx3_shuijimingpian,
"烟花": self.jx3cmd.jx3_yanhuachaxun,
"的卢": self.jx3cmd.jx3_dilujilu,
"招募": self.jx3cmd.jx3_tuanduizhaomu,
"战绩": self.jx3cmd.jx3_zhanji,
"查询": self.jx3cmd.jx3_qiyu,
"拍卖": self.jx3cmd.jx3_zhengyingpaimai,
"扶摇九天": self.jx3cmd.jx3_fuyaojjiutian,
"刷马": self.jx3cmd.jx3_shuma,
"骗子": self.jx3cmd.jx3_pianzhi,
"八卦": self.jx3cmd.jx3_bagua,
"角色": self.jx3cmd.jx3_jueshe,
"交易行": self.jx3cmd.jx3_jiaoyihang,
"开服推送": self.jx3cmd.jx3_kaifhujiank,
"新闻推送": self.jx3cmd.jx3_xinwenzhixun,
"刷马推送": self.jx3cmd.jx3_shuamamsg,
+4 -1
View File
@@ -1,6 +1,9 @@
name: astrbot_plugin_jx3
display_name: 剑网三游戏数据查询工具
desc: 通过接口调用剑网三API接口获取游戏数据,处理发送。
version: v2.1
version: v2.2
author: 飞翔大野猪
repo: https://github.com/qsc20001102/astrbot_plugin_jx3
astrbot_version: ">=4.11.0"
support_platforms:
- aiocqhttp
+1 -1
View File
@@ -107,7 +107,7 @@
</div>
<div class="boss-final">
最终Boss{{ boss }}
荡剑恩仇{{ boss }}
</div>
</div>
+28 -20
View File
@@ -129,19 +129,21 @@ body {
<div class="command-grid">
<div class="command"><div class="cmd-name">日常活动</div><div class="cmd-usage">日常 [服务器] [天数]</div><div class="cmd-desc">天数:0今天 1明天 2后天</div></div>
<div class="command"><div class="cmd-name">日常预测</div><div class="cmd-usage">日常预测</div><div class="cmd-desc">当前日期前后15天日常</div></div>
<div class="command"><div class="cmd-name">日常预测</div><div class="cmd-usage">月历</div><div class="cmd-desc">当前日期前后15天日常</div></div>
<div class="command"><div class="cmd-name">名望事件</div><div class="cmd-usage">名望 [穹野卫]</div><div class="cmd-desc">楚天社 云从社 披风会 穹野卫</div></div>
<div class="command"><div class="cmd-name">开服查询</div><div class="cmd-usage">开服 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">全服状态</div><div class="cmd-usage">全服状态 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">随机骚话</div><div class="cmd-usage">骚话</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">最新技改</div><div class="cmd-usage">技改</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">官方公告</div><div class="cmd-usage">公告 [数量]</div><div class="cmd-desc">获取最新官方公告,数量默认为5条</div></div>
<div class="command"><div class="cmd-name">科举答题</div><div class="cmd-usage">科举 内容</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">家园鲜花</div><div class="cmd-usage">花价 名称 [服务器] [家园地图]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">家园装饰</div><div class="cmd-usage">装饰 名称</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">器物图谱</div><div class="cmd-usage">器物 地图名称</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">新闻资讯</div><div class="cmd-usage">公告 [数量]</div><div class="cmd-desc">获取最新官方公告,数量默认为5条</div></div>
<div class="command"><div class="cmd-name">维护公告</div><div class="cmd-usage">维护 [数量]</div><div class="cmd-desc">获取最新官方维护,数量默认为5条</div></div>
<div class="command"><div class="cmd-name">搜索区服</div><div class="cmd-usage">区服 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">开服查询</div><div class="cmd-usage">开服 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">全服状态</div><div class="cmd-usage">状态</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">最新技改</div><div class="cmd-usage">技改</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">小药推荐</div><div class="cmd-usage">小药</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">随机骚话</div><div class="cmd-usage">骚话</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">阵营沙盘</div><div class="cmd-usage">沙盘 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">奇遇统计</div><div class="cmd-usage">统计 奇遇名称 [服务器]</div><div class="cmd-desc">统计指定奇遇触发次数</div></div>
<div class="command"><div class="cmd-name">奇遇攻略</div><div class="cmd-usage">攻略 奇遇名称</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">魔盒宏</div><div class="cmd-usage">宏 心法</div><div class="cmd-desc">查询指定心法推荐宏设置</div></div>
<div class="command"><div class="cmd-name">魔盒配装</div><div class="cmd-usage">配装 心法 [筛选]</div><div class="cmd-desc">PvP PvE</div></div>
@@ -154,22 +156,28 @@ body {
<div class="group-title">进阶功能</div>
<div class="command-grid">
<div class="command"><div class="cmd-name">百战首领</div><div class="cmd-usage">百战</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">扶摇九天</div><div class="cmd-usage">扶摇 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">阵营拍卖</div><div class="cmd-usage">拍卖 物品名称 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">的卢记录</div><div class="cmd-usage">的卢 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">烟花记录</div><div class="cmd-usage">烟花 角色名 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">骗子查询</div><div class="cmd-usage">骗子 QQ号</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">角色奇遇</div><div class="cmd-usage">查询 角色名 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">奇遇统计</div><div class="cmd-usage">统计 奇遇名称 [服务器]</div><div class="cmd-desc">统计指定奇遇触发次数</div></div>
<div class="command"><div class="cmd-name">名剑战绩</div><div class="cmd-usage">战绩 角色名 [服务器] [模式]</div><div class="cmd-desc">33 22</div></div>
<div class="command"><div class="cmd-name">名剑排行</div><div class="cmd-usage">排行 [数量] [模式]</div><div class="cmd-desc">33 22</div></div>
<div class="command"><div class="cmd-name">副本招募</div><div class="cmd-usage">招募 副本名称 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">角色信息</div><div class="cmd-usage">角色 名称 [服务器]</div><div class="cmd-desc">查询角色基础信息</div></div>
<div class="command"><div class="cmd-name">角色名片</div><div class="cmd-usage">名片 角色名 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">随机名片</div><div class="cmd-usage">随机 职业 体型 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">刷马</div><div class="cmd-usage">刷马 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">金价查询</div><div class="cmd-usage">金价 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">外观物价</div><div class="cmd-usage">物价 外观名称 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">交易行</div><div class="cmd-usage">交易行 物品名称 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">角色名片</div><div class="cmd-usage">名片 角色名 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">随机名片</div><div class="cmd-usage">随机名片 职业 体型 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">烟花记录</div><div class="cmd-usage">烟花 角色名 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">的卢记录</div><div class="cmd-usage">的卢 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">副本招募</div><div class="cmd-usage">招募 副本名称 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">角色战绩</div><div class="cmd-usage">战绩 角色名 [服务器]</div><div class="cmd-desc">33</div></div>
<div class="command"><div class="cmd-name">角色奇遇</div><div class="cmd-usage">查询 角色名 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">阵营拍卖</div><div class="cmd-usage">拍卖 物品名称 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">扶摇九天</div><div class="cmd-usage">扶摇九天 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">刷马</div><div class="cmd-usage">刷马 [服务器]</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">骗子查询</div><div class="cmd-usage">骗子 QQ号</div><div class="cmd-desc"></div></div>
<div class="command"><div class="cmd-name">八卦记录</div><div class="cmd-usage">八卦 类型</div><div class="cmd-desc">818 616 避雷</div></div>
<div class="command"><div class="cmd-name">角色信息</div><div class="cmd-usage">角色 名称 [服务器]</div><div class="cmd-desc">查询角色基础信息</div></div>
<div class="command"><div class="cmd-name">交易行</div><div class="cmd-usage">交易行 物品名称 [服务器]</div><div class="cmd-desc"></div></div>
</div>
</div>
+123
View File
@@ -0,0 +1,123 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>竞技排行榜</title>
<style>
body {
font-family: 'Microsoft YaHei', Arial, sans-serif;
background: #f1f2f6;
margin: 0;
padding: 20px;
}
.container {
max-width: 1000px;
margin: 0 auto;
text-align: center;
}
h1 {
font-size: 32px;
margin-bottom: 25px;
color: #222;
font-weight: 800;
text-align: center;
}
table {
width: 100%;
border-collapse: collapse;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 16px rgba(0,0,0,0.08);
margin-top: 10px;
text-align: left;
}
thead {
background: #d93939;
color: white;
font-size: 18px;
}
th, td {
padding: 14px 12px;
border-bottom: 1px solid #eee;
font-size: 15px;
vertical-align: middle;
}
tbody tr:hover {
background: #fff2f2;
}
.avatar {
width: 40px;
height: 40px;
border-radius: 50%;
}
.rank-1 { color: gold; font-weight: bold; }
.rank-2 { color: silver; font-weight: bold; }
.rank-3 { color: #cd7f32; font-weight: bold; }
.winrate {
color: #27ae60;
font-weight: bold;
}
</style>
</head>
<body>
<div class="container">
<h1>名剑排行榜</h1>
<table>
<thead>
<tr>
<th>排名</th>
<th>头像</th>
<th>角色</th>
<th>区服</th>
<th>门派</th>
<th>分数</th>
<th>胜率</th>
</tr>
</thead>
<tbody>
{% for m in lists %}
<tr>
<td class="
{% if m.rankNum == '1' %}rank-1{% endif %}
{% if m.rankNum == '2' %}rank-2{% endif %}
{% if m.rankNum == '3' %}rank-3{% endif %}
">
{{ m.rankNum }}
</td>
<td>
<img class="avatar" src="{{ m.avatarUrl }}">
</td>
<td>{{ m.roleName }}</td>
<td>{{ m.zoneName }} · {{ m.serverName }}</td>
<td>{{ m.forceName }}</td>
<td>{{ m.score }}</td>
<td class="winrate">{{ m.winRate }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</body>
</html>
+3 -3
View File
@@ -80,9 +80,9 @@
<tbody>
{% for m in items %}
<tr>
<td>{{ m.adventureName }}</td>
<td>{{ server }}</td>
<td>{{ m.gameName }}</td>
<td>{{ m.event }}</td>
<td>{{ m.server }}</td>
<td>{{ m.name }}</td>
<td>{{ m.time }}</td>
</tr>
{% endfor %}
+1 -6
View File
@@ -2,7 +2,7 @@
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>剑网三 3v3 战绩面板</title>
<title>剑网三 战绩面板</title>
<style>
body {
@@ -176,11 +176,6 @@ tbody tr:nth-child(odd) {
<!-- 头像 + 当前 3v3 表现 -->
<div class="stats-wrap">
<!-- 左侧头像 -->
<div class="avatar-box">
<img src="{{ showAvatar }}" alt="avatar">
</div>
<!-- 右侧数据 -->
<div class="stats">
<div class="stat-box">