Metadata-Version: 2.5
Name: tenko-plugin-bf1
Version: 0.1.13
Summary: Tenko 战地一查询：经 bf-manager 查询玩家战绩、武器、载具、最近对局和服务器，带入群审核
Project-URL: Homepage, https://github.com/g1331/tenko-plugins/tree/main/plugins/bf1
Project-URL: Repository, https://github.com/g1331/tenko-plugins
License-Expression: GPL-3.0-only
Keywords: battlefield,bf1,qq,tenko,tenko-plugin
Classifier: Framework :: AsyncIO
Classifier: Natural Language :: Chinese (Simplified)
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Communications :: Chat
Requires-Python: <3.14,>=3.11
Requires-Dist: httpx>=0.27
Requires-Dist: jinja2>=3
Requires-Dist: sqlalchemy>=2.0
Requires-Dist: tenko-api<0.5,>=0.4
Requires-Dist: zhconv>=1.4
Description-Content-Type: text/markdown

# 战地一查询

经 [bf-manager](https://github.com/g1331/bf-manager) 的公开查询接口查询战地一数据，回复图片；渲染不可用时退回文字。

| 命令 | 说明 |
| --- | --- |
| `/bf1绑定 <EA 名字>`（也可以 `/bf1b` `/绑定` `/bind`） | 绑定自己的 EA 账号；不带名字查看当前绑定 |
| `/bf1s [EA 名字]`（`/stat` `/生涯` `/战绩`） | 生涯战绩；绑定后可不带名字 |
| `/bf1w [EA 名字]`（`/wp` `/weapon` `/武器`） | 武器击杀前十 |
| `/bf1v [EA 名字]`（`/vc` `/vehicle` `/载具`） | 载具击杀前十 |
| `/bf1r [EA 名字]`（`/recent` `/match` `/最近` `/对局`） | 最近 6 局的战绩、胜负和用得最多的武器 |
| `/bf1ss <服务器名关键字>`（`/ss` `/搜服务器`） | 搜索有人的私服，显示前十个 |
| `/bf1pl <服务器名关键字 \| gameId>`（`/ds` `/详细服务器`） | 服务器玩家列表（含排队、观战和行动进度）；匹配多个时取人最多的 |
| `/bf1`（`/bfstat`） | 全服在线概况 |
| `/bf1审核 [开\|关]` | 本群的入群审核；开关需要群管理员 |

括号里是旧 bot 的 `-stat`、`-武器` 这些命令换成 `/` 开头的写法，和前面的命令完全一样，帮助列表里只列前面的。

最近对局来自 bf-manager 跟踪到的对局（进服和结算时的生涯数据相减算出），保留 90 天；排队、观战、进服就走的局不算。

新群默认开启。

## 入群审核

在群里 `/bf1审核 开` 后，有人申请入群时 bot 会查申请者填的 EA 名字，把检查结果（没玩过战地一、BFEAC / BFBAN
实锤、和这个 QQ 已绑定的号不一致）和战绩卡片发到群里。群管理员**回复这条消息** `y` 同意，回复其他文字则以该文字为理由拒绝，不限时；同意后，申请者还没绑定的话自动绑定为这个 EA 名字。

需要 bot 是群管理员：QQ 只把入群申请推给群主和管理员。群里有多个 bot 号、选路选中的又不是管理员时，Tenko 4.0.0rc49 之前会把申请丢掉，之后由收到申请的管理员号处理。入群方式设成“需要回答问题并由管理员审核”，问题让申请者填 EA 名字。待审申请存在插件数据库里，重启 Tenko 后照样能回复处理；要用收到申请的那个 bot 号处理，它不在线时会提示等它上线。申请在 QQ 里直接处理掉、申请者进群后，记录自动清掉。

## 配置

```toml
[plugin_config.bf1]
base_url = "https://bfm.umrbotech.com"  # bf-manager 地址，不带 /api/v1
```
