牛牛决斗 pallas-plugin-duel
提供多幕决斗、八角笼与 QTE 抢答玩法。
安装方式
需已安装 Pallas-Bot ≥ 4.0。
推荐直接在控制台插件商店安装,或在本体项目中执行:
uv run pallas ext install pallas-plugin-duel
也可单独安装本包:
uv pip install pallas-plugin-duel
开发联调:clone 本仓库后 uv pip install -e .(pyproject.toml 可配置本体 path 依赖)。
多进程分片
Pallas-Bot 支持单进程,也支持 hub + 多个 worker 的多进程部署。启用分片时:
- hub 与每个 worker 须安装相同版本的本扩展包;
- 各进程共享同一路径的
data/(注册表、协调状态、WebUI 落盘等); - 跨进程互斥与状态同步依赖 Redis 协调层(配置见文档站)。
本插件通过本体 plugin_coord 与启动时的 register_duel_coord() / register_fleet_probe() 接入协调层;未安装扩展时不影响 core 插件运行。
详见:多进程分片 · 架构说明
怎么使用
泰拉风味多幕决斗:事件包、干员/关键词 QTE、双牛八角笼、胜负惩罚。
用户命令
| 口令 / 触发 | 场景 | 说明 |
|---|---|---|
牛牛决斗 @对手 [N幕|N回合] |
群内 | 对人或单牛 |
牛牛决斗 @牛A @牛B |
群内 | 双牛对决 |
八角笼牛 [N幕|N回合] |
群内 | 随机两只在线牛牛 |
按幕面提示答干员名 / 关键词 |
群内 | QTE 抢答 |
决斗事件重载 |
群内 | 热更新事件包(群管) |
命令权限
| 命令 ID | 默认等级 |
|---|---|
duel.duel |
所有人 |
duel.cage |
所有人 |
duel.reload_events |
群管/群主 |
详细用法、限制条件和可用范围以帮助为主。
配置项
WebUI 插件 → duel,或本仓库 config.py。事件包约定见 event_packs/README.md。
干员资源同步(在本体仓库执行):
uv run python scripts/fetch_arknights_duel_data.py
排障
| 现象 | 处理 |
|---|---|
| 无法开战 | 同群仅一场;检查 @ 与在线牛 |
| 乱入无头像 | 执行资源脚本补 resource/arknights/avatars |
实现
实现要点:
- 决斗事件、QTE 与多牛牛在线判定共同组成一场完整对局。
- 分片模式下通过协调层维持同群互斥与事件同步。
- 干员资源与头像不全时会直接影响决斗展示效果。
相关链接
| 说明 | 链接 |
|---|---|
| 牛牛决斗 · 用户文档 | 文档站 · duel |
| 插件开发入门 | develop/plugin/getting-started |
| 多进程分片 | architecture/bot-process-sharding |
Metadata
Release files for pallas-plugin-duel 4.0.17
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pallas_plugin_duel-4.0.17.tar.gz | 3.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pallas_plugin_duel-4.0.17-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.3 MB
Release files / pallas_plugin_duel-4.0.17.tar.gz
| Download URL | pallas_plugin_duel-4.0.17.tar.gz |
|---|---|
| Size | 3.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce58c0489c9a9903881cd72297995387bd9d50140efc35dfb65da594d5a2ff8a
|
|
BLAKE2b-256 checksum How to use checksums |
a25661ce23a2c2428052e376b12643d28d421aea7a62c8a02b2cb44e69e775fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency logRelease files / pallas_plugin_duel-4.0.17-py3-none-any.whl
| Download URL | pallas_plugin_duel-4.0.17-py3-none-any.whl |
|---|---|
| Size | 96.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7947e7071767762b3a3964cc2d228c1e5146ea67e37d16df830f944dd0fafd0a
|
|
BLAKE2b-256 checksum How to use checksums |
08d80f762da42ec1d2c20446455aa02d2fae67ca857b524321916ffa1ae0e077
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jul 28, 2026.
Transparency log