Skip to main content

Pallas-Bot 官方扩展:多牛分片谁是卧底。

Project description

Pallas-Bot

pallas-plugin-who-is-spy

Pallas-Bot 4.0 官方扩展:谁是卧底

安装

需已安装 Pallas-Bot ≥ 4.0

# 在本体项目中
uv sync --extra plugins-who-is-spy

# 或单独安装本包
uv pip install pallas-plugin-who-is-spy

开发联调:clone 本仓库后 uv pip install -e .pyproject.toml 可配置本体 path 依赖)。

多进程分片

Pallas-Bot 支持单进程,也支持 hub + 多个 worker 的多进程部署。启用分片时:

  • hub 与每个 worker 须安装相同版本的本扩展包
  • 各进程共享同一路径的 data/(注册表、协调状态、WebUI 落盘等);
  • 同群房间互斥与主持牛路由依赖 Redis 协调层。

本插件通过本体分片协调模块(如 spy_activity)与共享 data/ 保持一致;未安装扩展时不影响 core 插件运行。

详见:多进程分片 · 架构说明

功能说明

群内谁是卧底:开房、自由讨论、房主发起投票、私聊匿名投票,直至一方阵营获胜。

用户命令

口令 / 触发 场景 说明
牛牛卧底 群内 开房
牛牛加入 / 牛牛退出 群内 筹备阶段进出
牛牛发身份 [潜藏人数] [白板] [暗牌|明牌] 群内 房主开局并下发词语
@牛牛 + 描述 群内 讨论阶段记为述词
牛牛投票 群内 房主提前开始投票(先发复盘)
私聊回复数字序号或 0 私聊 投票(0=弃权)
牛牛局势 / 牛牛结束 群内 察看局势、结束房间

命令权限

命令 ID 默认等级
who_is_spy.open everyone
who_is_spy.join everyone
who_is_spy.start everyone(含牛牛投票)
who_is_spy.status everyone
who_is_spy.end everyone

配置

默认 说明
spy_min_players 4 最少开局人数
spy_max_players 12 房间上限
spy_default_undercovers 1 默认卧底数
spy_default_blanks 0 默认白板数(无词,不计入胜负比较)
spy_show_role_default false 私聊是否附带身份(false=暗牌,只发词)
spy_word_avoid_recent 10 同群最近 N 局词对不重复,0 关闭
spy_auto_vote_when_all_spoken true 全员 @牛牛 述词后自动投票
spy_speak_max_len 120 复盘单条述词最大字数
spy_room_cleanup_sec 600 局结束后空房清理秒数
spy_email_fallback true 私聊失败时改发玩家 QQ 邮箱

字段以本仓库 config.py 为准;WebUI 插件 → 牛牛卧底 修改。

私聊与邮箱:发词/投票说明优先好友私聊;失败时尝试带 group_id 的临时会话;仍失败且 spy_email_fallback=true 时,复用 bot_status 的 SMTP 向 {QQ号}@qq.com 发信。

词库内置 resource/who_is_spy/undercover_words.json;运行期使用 data/who_is_spy/undercover_words.json(首次启动从 resource 复制,之后启动自动合并 resource 新增词对)。编辑 JSON 后重启 Bot 生效。

排障

现象 处理
收不到词语/投票私聊 加牛牛好友;或查 QQ 邮箱;确认 bot_status SMTP 已配置
私聊「你的词:」后无字 非白板玩法,属投递失败;加好友、查邮箱或看开局提示里的未达名单
本群已有房间 分片下同群互斥;「牛牛结束」或等局后自动清理
@牛牛 述词无回复 分片多牛须 @ 本局主持牛(发「词已私聊」的那只);述词优先于 Ollama;协调层未同步时主持牛内存局仍可述词
词库为空 检查 data/who_is_spy/undercover_words.json 或内置 resource/who_is_spy/

文档

说明 链接
谁是卧底 · 用户文档 文档站 · who_is_spy
插件开发入门 develop/plugin/getting-started
多进程分片 architecture/bot-process-sharding

源码

实现位于本仓库 src/pallas_plugin_who_is_spy/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pallas_plugin_who_is_spy-4.0.2.tar.gz (90.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pallas_plugin_who_is_spy-4.0.2-py3-none-any.whl (51.9 kB view details)

Uploaded Python 3

File details

Details for the file pallas_plugin_who_is_spy-4.0.2.tar.gz.

File metadata

  • Download URL: pallas_plugin_who_is_spy-4.0.2.tar.gz
  • Upload date:
  • Size: 90.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pallas_plugin_who_is_spy-4.0.2.tar.gz
Algorithm Hash digest
SHA256 d63309feaf512ae293b925d9eb64b56ed7269e2909f01da1819f39b79ce5f412
MD5 00693c8243053f7bd4ad42862d583ea3
BLAKE2b-256 073ac53083ac5408fcf6ead772c906b42085826e2914d5955d6dfc25707ad37d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pallas_plugin_who_is_spy-4.0.2.tar.gz:

Publisher: publish-pypi.yml on TogetsuDo/pallas-plugin-who-is-spy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pallas_plugin_who_is_spy-4.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for pallas_plugin_who_is_spy-4.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e0b853f6ca7f73dde4d4025eec4307b3d3da426aee15288e548eb7af0751bb5a
MD5 955a51160da9648c558946c9779d1656
BLAKE2b-256 6ca3d89806b485faa44f87edd79042ec9aa763b0c58e3dc9635754ca1b859078

See more details on using hashes here.

Provenance

The following attestation bundles were made for pallas_plugin_who_is_spy-4.0.2-py3-none-any.whl:

Publisher: publish-pypi.yml on TogetsuDo/pallas-plugin-who-is-spy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page