Default template for PDM package
Project description
📖 介绍
和朋友们来一场紧张刺激的狼人杀游戏
💿 安装
使用 nb-cli 安装
在 nonebot2 项目的根目录下打开命令行, 输入以下指令即可安装nb plugin install nonebot-plugin-werewolf
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 根据你使用的包管理器, 输入相应的安装命令pip
pip install nonebot-plugin-werewolf
pdm
pdm add nonebot-plugin-werewolf
poetry
poetry add nonebot-plugin-werewolf
conda
conda install nonebot-plugin-werewolf
打开 nonebot2 项目根目录下的 pyproject.toml
文件, 在 [tool.nonebot]
部分追加写入
plugins = ["nonebot_plugin_werewolf"]
⚙️ 配置
在 nonebot2 项目的.env
文件中添加下表中的必填配置
配置项 | 必填 | 默认值 | 说明 |
---|---|---|---|
werewolf__enable_poke |
否 | True |
是否使用戳一戳简化操作流程 仅在 OneBot V11 适配器下生效 |
werewolf__role_preset |
否 | - | 覆写插件内置的职业预设 |
werewolf__werewolf_priority |
否 | - | 自定义狼人职业优先级 |
werewolf__priesthood_proirity |
否 | - | 自定义神职职业优先级 |
werewolf__role_preset
, werewolf__werewolf_priority
, werewolf__priesthood_proirity
的配置格式请参考 游戏内容
部分
🎉 使用
[!note]
插件通过群聊+私聊进行游戏交互
使用前请确保机器人有权限发起相应对话。
举例
众所周知, QQ 官方机器人对主动消息有次数限制 (参考)
因此,本插件可能无法在 adapter-qq
下正常运行
而对于野生机器人,现有协议端通常不支持或不建议使用临时私聊消息。
在使用本插件前,应当确保机器人可以正常向玩家发送私聊消息。
指令表
指令 | 权限 | 需要@ | 范围 | 说明 |
---|---|---|---|---|
werewolf /狼人杀 |
群员 | 是 | 群聊 | 发起游戏 (进入准备阶段) |
开始游戏 |
游戏发起者 | 是 | 群聊 | [准备阶段] 游戏发起者开始游戏 |
结束游戏 |
游戏发起者 | 是 | 群聊 | [准备阶段] 游戏发起者结束游戏 |
当前玩家 |
群员 | 是 | 群聊 | [准备阶段] 列出参与游戏的玩家列表 |
加入游戏 |
群员 | 是 | 群聊 | [准备阶段] 玩家加入游戏 |
退出游戏 |
群员 | 是 | 群聊 | [准备阶段] 玩家退出游戏 |
其他交互参考游戏内提示
对于 OneBot V11
适配器, 启用配置项 werewolf__enable_poke
后, 可以使用戳一戳代替 准备阶段 的 加入游戏
操作 和 游戏内的 /stop
命令
游戏内容
[!note]
插件的游戏规则参考了网络上的相关资料
如有疑问欢迎提出
插件中保存了一份 职业预设, 内容如下
总人数 | 狼人 | 神职 | 平民 |
---|---|---|---|
6 | 1 | 2 | 3 |
7 | 2 | 2 | 3 |
8 | 2 | 3 | 3 |
9 | 2 | 4 | 3 |
10 | 3 | 4 | 3 |
11 | 3 | 5 | 3 |
12 | 4 | 5 | 3 |
职业预设可以通过配置项 werewolf__role_preset
修改
示例
配置项 werewolf__role_preset
werewolf__role_preset='
[
[6, 1, 3, 2],
[7, 2, 3, 2]
]
'
上述配置中,[6, 1, 3, 2]
表示当总人数为 6 时,狼人、神职、平民的数量分别为 1、3、2
对于狼人
和神职
的职业分配,默认有如下优先级:
狼人
:狼人
,狼人
,狼王
,狼人
神职
:女巫
,预言家
,猎人
,守卫
,白痴
职业分配优先级可以通过配置项 werewolf__werewolf_priority
和 werewolf__priesthood_proirity
修改
示例
配置项 werewolf__werewolf_priority
werewolf__werewolf_priority=[1, 2, 1, 1]
上述配置中,[1, 2, 1, 1]
表示狼人的职业优先级为 狼人
, 狼王
, 狼人
, 狼人
配置项 werewolf__werewolf_priority
werewolf__priesthood_proirity=[11, 12, 13, 14, 15]
上述配置中,[11, 12, 13, 14, 15]
表示神职的职业优先级为 预言家
, 女巫
, 猎人
, 守卫
, 白痴
职业与数字的对应关系
上述配置示例中有大量意义不明的数字, 其对应的是 这里
的枚举类 Role
的值
以下列出目前的枚举值供参考
职业 | 枚举值 |
---|---|
狼人 |
1 |
狼王 |
2 |
预言家 |
11 |
女巫 |
12 |
猎人 |
13 |
守卫 |
14 |
白痴 |
15 |
平民 |
0 |
📝 更新日志
更新日志
-
2024.09.04 v1.0.7
- 优先使用群名片作为玩家名
- 支持通过配置项修改职业分配优先级
-
2024.09.03 v1.0.6
- 修复预言家查验狼王返回好人的 bug
-
2024.09.03 v1.0.5
- 优化玩家交互体验
- 添加游戏结束后死亡报告
-
2024.08.31 v1.0.1
- 支持通过配置项修改职业预设
-
2024.08.31 v1.0.0
- 插件开源
鸣谢
nonebot/nonebot2
: 跨平台 Python 异步机器人框架nonebot/plugin-alconna
: 跨平台的消息处理接口noneplugin/nonebot-plugin-userinfo
: 用户信息获取RF-Tar-Railt/nonebot-plugin-waiter
: 灵活获取用户输入热心群友
: 协助测试插件
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
Built Distribution
Hashes for nonebot_plugin_werewolf-1.0.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a9cd57f8210767473189e1ebfd6e14834036777f41d0ef8865dfb67fe1e7003 |
|
MD5 | c67bd649618b70fabb755793f4216e8f |
|
BLAKE2b-256 | 35ac7d1acd12b6d4228c04ed3bc632f3ff31c2e19cccc8ebe011b9b327b7027a |
Hashes for nonebot_plugin_werewolf-1.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66342ee65dfaa68743afdcf60380433905098c1f66c5105676f9bca036ac7cd7 |
|
MD5 | 04459d04e051efc491cb7aa7c9f3a47d |
|
BLAKE2b-256 | a4cc67a0133d4e7678c775ab01e5f1de0dc91b1acd24a025a873948f767bb841 |