Skip to main content

屠龙骰(DNDDicer / nonebot-plugin-dnddicer)

专精 DND5e / DND5r 跑团的 NoneBot2 骰娘插件(OneBot V11 适配器),致力于做功能最全面、体验最好的 DND 骰娘。

当前版本:v0.4.0 · 完整使用手册见 📖 使用文档

✨ 简介

DNDDicer 的目标是填补「NoneBot 商店中缺少 DND5e/5r 专业 + 现代维护 + 插件形态 骰娘」的空位:围绕 DND 跑团全流程持续做深做全,致力于提供功能最全面、体验最好的 DND 骰娘,零配置可加载,供任何已有机器人从商店安装即用。

  • 掷骰引擎:内置 AST 表达式引擎(Lark 文法),支持 2d20kh1、优势/劣势、爆炸骰、连掷、暗骰等完整掷骰语法;
  • 跑团全流程:掷骰 → .dnd 属性生成 → 角色卡与检定/豁免点命令 → 自定义武器与攻击(.X攻击/.X伤害)/ HP 管理(伤害掷骰、抗性/易伤、AOE 多目标结算、长休)→ 先攻列表与战斗轮 → 规则查询(.查询/.搜索,可限定书目、可出图);
  • 规则范围:仅 DND5e/5r:专精 DND 定位,不做 COC/D100 体系与 .mode 模式切换;
  • 商店合规:零配置可加载、本地存储走 nonebot-plugin-localstore、元数据完整、全程异步。

📖 使用文档

详细用法、输入/输出示例与常见问题见使用文档(手册式分章,含跑团示例;在线版:https://h-elden.github.io/nonebot-plugin-dnddicer/,源文件在仓库 docs/):

📦 安装

通过 NB-CLI(推荐,与商店安装方式一致):

nb plugin install nonebot-plugin-dnddicer

或通过包管理器安装后,在 pyproject.toml 的 [tool.nonebot] 中声明加载:

pip install nonebot-plugin-dnddicer
[tool.nonebot]
plugins = ["nonebot_plugin_dnddicer"]

依赖:Python ≥ 3.11,NoneBot2 ≥ 2.4.0,OneBot V11 适配器(nb plugin install 会自动安装依赖)。

⚙️ 配置

插件零配置即可加载运行,以下配置项全部可选(在 .env / 环境变量中设置):

配置项 类型 默认值 说明
dnddicer_command_priority int 10 命令事件响应器基础优先级(越小越优先),与其他插件冲突时按需调整
dnddicer_default_face int 20 全局默认骰面(DND 惯例 D20;已配置 .dset 的群以群配置为准,此项作兜底)
dnddicer_enabled bool true 功能总开关,false 时只加载骨架、不注册命令
dnddicer_use_host_command_starts bool false 是否兼容宿主 COMMAND_START 起始符(NoneBot 默认 /,开启后 /.help 等亦可触发)。默认只匹配 . / 。,避免 /help、/bot 等常见单词命令与其他插件同时命中(冲突)

🎲 用法

命令以 .(或全角 。)开头;命令起始符默认仅 . / 。,如需用宿主斜杠 / 等起始符触发(如 /.help),请设置配置项 dnddicer_use_host_command_starts=true。群聊服务默认关闭(白名单):需群主/管理员发送 .bot on 开启本群服务;.bot off 关闭后本群不再响应命令(.bot 本身不受影响)。群聊中使用 .bot 需先 @ 本机器人;私聊不受服务开关限制,但可用命令更少:角色卡、检定、HP、先攻等仅限群聊(差异见快速开始)。

DM 代操作(@ 提及目标):多数带目标的命令支持用 @群成员 指定目标:直连该成员在本群的角色卡,不受同名 NPC/改名影响,且可与名称混写(.hp @玩家 -4d6、.hp @玩家;地精 -d4、.ri+3 @玩家、.init del @玩家、.回合 @玩家、.角色卡 @玩家、.力量豁免 @玩家、.先攻检定 @玩家 等)。完整机制见代掷与代操作,命令清单见命令总览 - @ 提及目标。

🎲 掷骰(群聊 / 私聊)

命令 说明
.r [N#][hs][表达式] [原因] 掷骰表达式(# 连掷 1~10、h 暗骰、s 只显数值;仅 D20 有大成功/大失败播报)
.rh [表达式] [原因] 暗骰(群内提示、结果私聊)

📋 角色卡与检定(群聊)

命令 说明
.角色卡模板 / .角色卡记录 <模板> 查看示例卡 / 记录或覆盖角色卡($…$ 分段模板)
.角色卡 / .角色卡清除 / .状态 查看 / 删除角色卡 / 查看 HP 与生命骰摘要
.角色卡 @玩家 / .角色卡 角色名 查看他人整卡(任何人可查看;记录/清除仅限本人)
.状态 @玩家 查看他人的 HP 与生命骰摘要
.力量检定 / .察觉检定+1 等 属性/技能/先攻检定点命令,自动代入调整值/熟练/加值(2# 连掷、+d4 等可追加;表达式右侧可加 @玩家 代掷)
.体质豁免 / .感知豁免优势 等 豁免点命令(原名直配,优势/劣势后缀;同样支持尾部 @玩家)
.先攻检定 / .先攻检定 @玩家 掷先攻并自动写入本群先攻列表(@ 形式代不在场的玩家掷)

🗡️ 武器与攻击(群聊)

角色卡通过 $武器$ 段自定义武器/法术项:名称+命中加值,伤害表达式+类型,如 长剑+8,1d8+5挥砍;名称尾加 x 表示不可攻击检定,如 火球术x,8d6火焰。

骰娘只忠实执行、不判 AC、不自动补属性:

命令 说明
.刺剑攻击 / .刺剑命中 用卡上该武器的命中加值掷攻击检定(优势/劣势、N# 连掷、± 临时加值、@玩家 代掷;天然 20 提示重击)
.刺剑伤害 掷该武器伤害并报出类型;后缀 副手(不加任何加值)/ 重击(骰数翻倍)/ 偷袭(游荡者按等级自动附加偷袭骰)可组合,尾部可加 ± 临时加值(如升环 .火球术伤害+1d6)
.设置武器 / .删除武器 维护卡上武器(同名覆盖 / 删除,多个用 / 分隔;.设置武器 无参数列出当前武器)

详见 武器与攻击。

🎯 属性生成(群聊 / 私聊)

命令 说明
.dnd [次数] [原因] 4D6K3 掷点生成六项属性(附合计与降序,自行分配给六属性)
.dndx [次数] [原因] 4D6K3 掷点并绑定属性名(不排序,掷出即定、可直接抄入角色卡)

❤️ 生命值管理(群聊)

命令 说明
.hp [对象] 20/30 (5) 设置自己/队友/NPC HP(含临时 HP;先 .ri 名称 入先攻表后即可记录 NPC 血量)
.hp [对象] -2d6+3 等 伤害/治疗(支持掷骰表达式;伤害位置可直接写 -武器名伤害,如 -战锤重击伤害+1d4,对应发送者卡上武器项、尾部括号可指定来源代发;目标后加 抗性/易伤 后缀可减半/加倍,分号分隔多目标同发结算)
.hp @玩家 … / .hp @玩家 对 @ 的玩家角色卡结算 / 查看(.hp @玩家 -4d6、.hp @玩家;地精 -d4 与名称混写;需该玩家已建卡)
.hp / .hp list 查看自己 / 本群列表(PC + NPC)
.hp del 名称 / .hp clr 删除单个 / 清空全部 NPC 血量记录(玩家角色卡请用 .角色卡清除,玩家先攻条目用 .init del)
.npc 持久/临时 名称 NPC 血量跨战斗保持 / 恢复默认(同名 NPC 新入先攻表默认自动回满并提示)
.长休 / .长休 @玩家 长休结算(回满 HP、清临时 HP、回复一半生命骰);@ 形式代不在场的玩家收尾

基础用法见生命值管理,武器伤害写法与长休进阶见 HP 进阶与长休,DM 的结算打法见血量与伤害结算。

⚔️ 先攻与战斗轮(群聊)

命令 说明
.ri[修正] [名称/…] 掷先攻入表(.ri20 地精 固定值、3# 批量、.先攻 别名)
.ri+3 @玩家 代不在场的玩家掷先攻:条目名取角色卡名并与该玩家绑定(重掷替换、回合提醒与 .hp 解析同步生效)
.init 查看先攻列表(del/clr/first/swap 子指令)
.init del/first/swap @玩家 子指令按玩家归属定位条目(角色卡改名后仍有效;未入表会给出提示)
.br 新建战斗轮(清空先攻表)
.回合 / .轮次 查看/跳转当前回合与轮次(.回合+2 连续推进,轮到玩家自动 @ 提醒)
.回合 @玩家 跳转到该玩家的条目(不受改名/同名歧义影响)
.ed 结束当前回合并自动推进(.结束 别名)

🔍 规则查询(群聊 / 私聊,需骰主开启)

命令 说明
.查询 <关键词> / .搜索 <关键词> 按名称 / 全文检索《5e不全书》;多关键词用空格分隔表示同时满足、| 表示或;返回候选后回数字看词条、+ / - 翻页(60 秒内有效、只认发起者本人)
.查询图片 [on/off] 查看 / 切换本处的词条图片显示(群聊按群、私聊按本人;需骰主先开启图片模式,否则报错并回退文字)
.查询范围 [缩写…] 查看 / 收窄本处可查询的书目范围(如 .查询范围 PHB24,MM25;.查询范围 全部 恢复;不设置即全部开放)
.规则书 列出可设置的书目缩写与中文名对照(骰主开启图片模式时默认出图)

规则查询默认关闭(dnddicer_query_enabled):开启后群聊仍受本群服务开关管辖,私聊可用;查询内容来自《5e不全书》,只用于当次回复与短时内存缓存、不落盘、不随插件分发。详见规则查询。

⚙️ 群管理(群聊)

命令 说明
.dset [表达式] 设置/查看群默认骰面(群主/管理员)
.bot [on/off] 插件信息查询 / 本群服务开关(群主/管理员,需 @)
.帮助 / .help [命令] 命令总览 / 指定命令详细用法(如 .help r)

一期范围外功能会显式提示而非静默:.r exp 期望值采样、.r a/n 特殊判定;牌堆/随机表(T2)与法术位/死亡豁免/BUFF 表(T3 候选)见下方路线。

📄 版本与路线

  1. ✅ v0.1.0(第一期 = T0 + T1 + 战斗轮简化版 + .bot 服务开关):掷骰引擎移植、.r/.rh、帮助、群配置(.dset)、角色卡与检定/豁免/攻击、.dnd 属性生成、HP 管理与长休(含抗性/易伤与 AOE 伤害掷骰)、先攻列表、战斗轮,全部落地、全量测试通过;
  2. ✅ v0.2.0:HP 抗性/易伤与 AOE 掷骰完善、.dnd 原因 兼容修复、NPC/怪物血量(三层目标搜索、先攻列表与 .hp list 联动、.ri 入表自动回满、.npc 持久/临时 跨战斗保持)、.dndx 属性名绑定掷点;
  3. ✅ v0.2.1:@ 提及目标(DM 可代玩家操作 .hp/.npc/.ri/.回合 等、查看角色卡)、玩家名称显示统一回退链、.hp del/clr 语义修订(仅作用 NPC 血量)、优势/劣势别名粘连等真机反馈修复;
  4. ✅ v0.2.2:掷骰说明文字按四则运算还原(常量复合子表达式与一元负号)、私聊下的群聊限定命令不再静默与 .bot 私聊文案修正;使用文档站上线(手册式 15 页,随发版自动部署);
  5. ✅ v0.3.0:自定义武器与攻击系统($武器$ 段、.武器名攻击 / .武器名伤害、.设置武器 / .删除武器)、.hp 伤害位置武器写法(含来源括号代发);属性攻击命令退役(破坏性变更,旧卡需重录)、文档站新增《武器与攻击》页与全站同步;
  6. ✅ v0.4.0:规则查询(.查询 / .搜索 两种检索、候选选择与翻页、.查询图片 图片模式、.查询范围 书目限定与 .规则书);文档站按前置条件重排为四章(基础操作 / 玩家进阶 / DM 进阶 / 最佳实践);大成功/大失败播报另起一行、修饰符回显加括号;
  7. ⏳ 第二期余下:牌堆/随机表;
  8. ⏳(可选)T3 增强期:法术位管理(.ss/.cast)、死亡豁免闭环(.ds)、BUFF/临时加值表(.buff)等。

每版完整变更(新增 / 变更 / 修复 / 文档)见 CHANGELOG.md。

📦 本地开发

# uv 方式(推荐;或使用 pip 安装 .[dev])
uv sync --group dev
uv run pytest

测试基于 nonebug 做 NoneBot 加载冒烟与全命令行为回归(与 NoneFlow 商店自动加载检查同思路)。

🤝 许可与致谢

  • 本项目(业务层与工程骨架)以 MIT License 发布,见 LICENSE。
  • 掷骰引擎移植自 nonebot-dicepp(Copyright (c) 2022 pear-studio,MIT License):引擎文件头保留上游版权声明,MIT 许可全文见 LICENSE。
  • 规则查询类资料内容不随插件分发(版权归原权利方/译者),需要时由使用者自行提供。
  • 本项目与 nonebot-dicepp 无隶属关系,为独立命名的衍生/移植作品。

Release files for nonebot-plugin-dnddicer 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nonebot-plugin-dnddicer 0.4.0
File Size Uploaded
nonebot_plugin_dnddicer-0.4.0.tar.gz 490.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nonebot-plugin-dnddicer 0.4.0
File Interpreter ABI Platform
nonebot_plugin_dnddicer-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 691.6 kB

Release files / nonebot_plugin_dnddicer-0.4.0.tar.gz

Download URL nonebot_plugin_dnddicer-0.4.0.tar.gz
Size 490.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a7c82eaf64f0a8032791724a0254770d7ae47f42fbf8c8a24d1c34ffbe443ee0
BLAKE2b-256 checksum
How to use checksums
dab4cd4ebc32cb299b9f02de74f7b0d19bd26d3b943cd783cb4717495b491600
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Sep 25, 2026.

Transparency log

Release files / nonebot_plugin_dnddicer-0.4.0-py3-none-any.whl

Download URL nonebot_plugin_dnddicer-0.4.0-py3-none-any.whl
Size 201.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e44e1a9eb91a55f471e2fe272585c2419ba5ad582e2a0ec09bd40e6a69a6f9f8
BLAKE2b-256 checksum
How to use checksums
b843f5e912b185b623a503123874796bcee04524f6c675787780bf31757e9f53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page