v2.5.1 发布说明
修复了自定义命令中的选择项选项在条件分支中始终无法匹配、导致每次都落入"其它"分支的缺陷。同时修复了置于权限校验或取值判断之后的弹窗无法显示的问题,弹窗现已可直接放置在条件分支之后。

|
|
发布日期: 2026年7月28日BotShade 已更新至 v2.5.1。本次发布为一次 修复版本,主要针对自定义命令构建器中收到反馈的 两项缺陷。二者都涉及命令搭建中极为常见的构成:按选择项分流处理、以及通过表单收集详细信息。
如您发现任何问题,欢迎通过 支持页面 反馈。
本文目录:
亮点
- 修复了将 选择项选项 用作条件分支比较对象时数值始终无法匹配、无论用户选择哪一项都 总是落入”其它”分支 的缺陷。
- 修复了 置于权限校验或取值判断之后的弹窗 无法显示的缺陷 —— 该问题同时导致接在该弹窗之后的处理(封禁、踢出、禁言等)全部未被执行。
- 随该修复一并支持了将弹窗 直接放置在条件分支之后。“仅向管理员弹出输入表单""按所选操作弹出不同表单”等构成,现可按预期直接搭建。
选择项选项现已可用于条件分支
为命令添加 选择项选项(从预先准备的候选中选择其一),并按所选值分流处理,是自定义命令中最常见的构成之一。
此前,若在比较条件中直接引用选择项选项的变量(例如 {option_command}),无论选择哪一项都无法匹配。因此无论排列多少个分支,实际执行的都只有”其它(else)“分支,各选择项对应的处理完全不会运行。
在 v2.5.1 中,单独引用选择项选项的变量时,将其解析为 所选的值。这与菜单、按钮变量的行为保持一致,只需在比较条件中放入变量即可按预期分流。
具体如下:
{option_command}— 所选的 值(比较时请使用该形式){option_command.name}— 选择项的 显示标签{option_command.value}— 所选的 值(与{option_command}相同)
此前已通过附加 .value 规避该问题的命令,行为保持不变,无需改写。
条件分支之后的弹窗现已可正常打开
受 Discord 规格限制,弹窗(弹出式输入表单)仅能在命令 尚未做出任何响应 的状态下打开。因此,此前 BotShade 能够显示弹窗的位置仅限于 命令的首个动作 或 按钮的连接目标。
于是,若在弹窗之前插入了权限校验或选择项判断,即便条件满足弹窗也不会打开,仅会提示”弹窗只能作为命令的首个动作或从按钮打开”,并且 接在该弹窗之后的处理同样不会执行。
在 v2.5.1 中,仅经由条件分支即可抵达的弹窗 现已可以正常显示。命令会在分支判定完成前暂缓响应,并在进入弹窗以外的处理时自动切换为响应,因此即使判定耗时较久也不会超出 Discord 的响应期限。
弹窗可放置的位置
- 命令的 首个动作
- 权限校验或取值判断(条件分支)之后 —— v2.5.1 新增支持
- 按钮的连接目标
弹窗无法放置的位置
- 发送消息等任何处理之后 —— 受 Discord 限制,已做出响应的命令无法再打开弹窗。此时请先发送带按钮的消息,并将弹窗置于该按钮之后。
兼容性说明
您之前所使用的机器人和命令定义,在 v2.5.1 上将照常运行,无需进行任何迁移操作。
仅有一处显示层面的变化需要留意:若您将选择项选项的变量 直接嵌入在消息正文中,此前以内部形式呈现的位置,自 v2.5.1 起将显示为 所选的值。如需显示标签,请使用 {option_xxx.name}。
支持与社区
如有问题、Bug 反馈或功能建议,欢迎通过以下任一渠道联系我们:
- 支持页面 — 联系表单
- status.botshade.com — 实时服务状态
感谢您一如既往地支持 BotShade。