经典的机器人消息是一个嵌入消息,下方附带一行按钮。Discord Components V2 则把文字、图片、按钮和下拉菜单都放进同一个容器中,因此工单面板、玩家卡片或商品列表会呈现为一张完整的卡片,而不是一个装着控件的方框。Noxyr 同时支持两种样式,允许你按功能进行选择,并在切换时重新发布实时面板,因此不会有任何东西损坏。

Side by side: the classic V1 embed with buttons underneath, and the V2 layout where buttons and menus live inside the card. A switch flips between them. V1 · classic embed Open ticket FAQ Choose a department ▾ buttons sit under the embed V2 · Components V2 container Open ticket FAQ Choose a department ▾ everything inside one card buttons and menus live in the card /style set

Components V2 究竟是什么

Components V2 是 Discord 较新的消息布局系统。过去消息被分为“嵌入消息”(文字、颜色、图片)和“组件”(下方各行的按钮和选择菜单)两部分,而 V2 消息则由布局块构成:一个带有强调色的容器,文字块,将文字与按钮或缩略图配对的区域,分隔线,媒体画廊,以及熟悉的按钮和下拉菜单,全部嵌套在其中。结果看起来更加紧凑,在移动端尤其如此,而且控件紧挨着它们所作用的内容。

问题在于,单条消息无法同时混用这两套系统:带有 V2 组件的消息不能再附带经典嵌入消息。这就是为什么机器人必须针对每条消息做出选择,也是 Noxyr 按功能跟踪这一选择的原因。

V1:经典嵌入消息

  • 自 2016 年起,每位 Discord 用户都很熟悉;无需学习新的形式。
  • 在所有地方都能使用,包括较旧的客户端和桥接工具。
  • 按钮和菜单位于嵌入消息下方,最多五行。
  • 标题、字段和页脚无需额外操作即可提供丰富的结构。

V2:容器布局

  • 按钮和下拉菜单位于卡片内部,紧挨着与之相关的文字。
  • 在移动端更整洁;消息与其控件之间的垂直间距更小。
  • 分隔线和区域使较长的面板(如目录页面或帮助菜单)更易于浏览。
  • 部分元素有所变化:经典的标题/字段网格被文字块和区域所取代。

Noxyr 的处理方式

每个服务器都有一个按钮的默认样式和一个下拉菜单的默认样式,此外还可以为每项功能单独覆盖:工单、目录与结账、验证、评价、建议、投票、音乐播放器、欢迎与离开消息、帮助与公开命令,以及私信。在 V2 推出之前就已存在的服务器会保持 V1,直到管理员更改设置;现在才添加 Noxyr 的服务器则默认使用 V2。抽奖始终使用经典布局,因为其消息格式依赖于此。

切换只需一条命令,或在控制面板中的一个页面(控制下的按钮与菜单)即可完成:

  • /style view:查看每项功能当前使用的样式。
  • /style set feature:all buttons:v2 dropdowns:v2:整个服务器的默认设置。
  • /style set feature:tickets buttons:v1:仅针对一项功能。
  • /style reset:清除覆盖设置,使各项功能重新跟随服务器的默认设置。

默认情况下,更改会重新发布你的实时面板,包括工单面板、目录、验证等,因此成员会立即看到新布局,而不必等到下一次编辑。如果你更希望面板在下次保存时才切换,请传入 repost:false。

应该选择哪一个?

  • 面向公众的面板(工单、验证、目录):V2。成员与这些面板的互动最多,而卡片内的按钮在手机上更容易点击。
  • 音乐播放器:V2。控件应该位于卡片之上。
  • 欢迎与离开消息:两者皆可;如果你依赖下方带有字段网格的大横幅图片,则选择 V1。
  • 凡是屏幕阅读器或较旧客户端所依赖的内容:V1 是更安全的选择。

由于选择是按功能进行的,你可以一次只调整一个面板,并在更改服务器默认设置之前先征求成员的意见。

常见问题

切换后会失去任何东西吗?不会,任何设置都不会改变;只改变已发布消息的布局。切换回去使用的也是同一条命令。

我的自定义机器人也遵循同样的设置吗?是的。该样式保存在服务器上,因此你的自定义机器人和 Noxyr 会在那里发布相同的布局。

为什么下拉菜单消息使用的样式与按钮消息不同?一条消息不能混用两套系统,因此带有下拉菜单的消息遵循下拉菜单的设置,而仅有按钮的消息则遵循按钮的设置。

试一试:打开控制面板,进入按钮与菜单页面,并将你的工单面板切换为 V2。按钮与下拉菜单指南涵盖了面板本身应放入的内容。