外观
快速开始
屠龙骰(DNDDicer)是专精 DND5e / DND5r 跑团的 NoneBot2 骰娘插件(OneBot V11 适配器)。
本页解决「从零到掷出第一颗骰子」:装好插件 → 按需调整配置 → 在本群开启服务 → 发出第一条命令。
文中示例均来自全站唯一的示例团,可以对着自己的群照做。
规则范围:本插件只做 DND5e/5r——不做 COC/D100 体系、不做
.mode多规则切换。大成功/大失败等反馈均围绕 D20 展开。
安装
依赖:Python ≥ 3.11,NoneBot2 ≥ 2.4.0,OneBot V11 适配器。
通过 NB-CLI 安装(与 NoneBot 插件商店安装方式一致,推荐):
bash
nb plugin install nonebot-plugin-dnddicer或使用包管理器安装后,在 pyproject.toml 的 [tool.nonebot] 中声明加载:
bash
pip install nonebot-plugin-dnddicertoml
[tool.nonebot]
plugins = ["nonebot_plugin_dnddicer"]安装完成后重启机器人,私聊机器人发送 .bot 即可验证插件已加载。
配置项
插件零配置即可运行,以下配置项均为可选配置。如需调整,在 NoneBot 的 .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、/r 等亦可触发)。默认只匹配 ./。,见下文「命令起始符」一节 |
.env 示例:
bash
dnddicer_command_priority=10
dnddicer_default_face=20除上表之外,插件不读取其他宿主配置;与宿主插件的共存与排查见群管理与 FAQ。
开启本群服务
出于对宿主机器人其他插件的协同考虑,群聊内的服务默认关闭(白名单机制):未开启的群只有 .bot 命令可用,其余命令静默不响应(消息会继续交给宿主其他插件处理)。私聊不受此开关限制,但可用命令与群聊不完全相同,差异见下文「群聊 / 私聊差异速查」。
开启方法:由群主或管理员在群聊中 @ 本机器人(@ 位于消息开头或结尾均可)后发送 .bot on:
注:如果开发者在环境变量中配置过宿主机器人的昵称,那么此处及后文中 @机器人 的操作均可用昵称来代替,不再赘述。
白鸦
@屠龙骰 .bot on
屠龙骰
本群服务已开启。
开启后随时可以用 .bot 查看插件版本、简介与当前服务状态:
白鸦
@屠龙骰 .bot
屠龙骰
屠龙骰(nonebot-plugin-dnddicer)v0.3.0 专精 DND5e/5r 跑团的骰娘:掷骰表达式、角色卡与检定/豁免、自定义武器与攻击、属性生成、HP 管理、先攻列表、战斗轮、群配置。 本群服务已开启,可直接使用本插件的全部命令。 用法:.bot on / .bot off——仅限群聊,需群主或管理员权限。
需要临时停用时(比如与宿主其他插件排查冲突),同权限发送 .bot off:
白鸦
@屠龙骰 .bot off
屠龙骰
本群服务已关闭,本群将不再响应本插件的其他命令(.bot 不受影响)。
关闭只是把本群从白名单里摘出去,随时可以再次
.bot on加回来;.bot系列在任何状态下都可用,但群聊中始终需要 @机器人。
第一条命令
服务开启后,群聊中直接发送 .r 即可掷骰(无需 @):
阿茶
.r2d6+3
屠龙骰
薇拉 的掷骰结果为 2D6+3=[5+2]+3=10
阿茶
.rd
屠龙骰
薇拉 的掷骰结果为 1D20=[20]=20 好耶!大成功!
读法:
2D6+3=[5+2]+3=10依次是表达式原文、逐骰过程与合计。示例中的「薇拉」不是群昵称——骰娘文案按「角色名 → 群名片 → QQ 昵称」回退,阿茶建过卡所以显示角色名(见名称显示规则)。
群聊 / 私聊差异速查
服务开关只决定「群聊里响不响应」;除此之外,私聊可用的命令比群聊少——角色卡、HP、先攻表、群默认骰面都按「群」存放(同一个人的卡在不同群里互不相通),私聊没有「本群」这一上下文:
| 场景 | 可用范围 | 说明 |
|---|---|---|
| 群聊(服务已开启) | ✅ 全部命令 | 直接发送即可(.bot 系列仍需 @) |
| 群聊(服务未开启) | 仅 .bot | .bot 系列需 @;.bot on / .bot off 需群主或管理员 |
| 私聊 | 掷骰与属性生成等 | .r / .rh、.dnd / .dndx、.帮助、.bot 可用;角色卡、检定、HP、先攻与战斗轮、群配置等命令仅限群聊 |
仅限群聊的命令在私聊里发送,会收到明确提示:
以下内容发生在私聊对话框
小满
.角色卡
屠龙骰(私聊)
该指令仅在群聊中可用。
命令起始符
本插件命令以 .(英文句号)或 。(中文句号)开头,如 .r2d6+3、.帮助、。角色卡。
默认不兼容宿主的斜杠起始符(/help 之类)——因为 /help、/bot 等常见单词命令容易与宿主其他插件同时命中、互相冲突。若你的机器人没有这类冲突且希望斜杠也能触发,把配置项 dnddicer_use_host_command_starts 设为 true 即可(此后 /help 或 /.help 同样有效);协同与排查的完整说明见群管理与 FAQ。
数据存在哪
角色卡、HP、先攻、群配置等数据保存在 NoneBot 的 localstore 数据目录(默认平台数据目录下,可用 LOCALSTORE_DATA_DIR 环境变量调整,例如可设为 data),全部为本地 JSON 文件,随机器人账号隔离;数据归属与备份、隐私细节见群管理与 FAQ。
开发与致谢
- 本项目以 MIT License 发布;掷骰引擎移植自 nonebot-dicepp(Copyright (c) 2022 pear-studio,MIT),业务层为独立实现;
- 规则查询类资料内容不随插件分发,需要时由使用者自行提供;
- 发布、配置与开发信息见仓库 README。