Discord Webhook
Macro Deck 自带通过 Webhook 向 Discord 频道发布带有嵌入和提及的丰富消息,并提供实时预览。
“添加 Discord Webhook”对话框,包含“名称”和“Webhook URL”字段
- 按名称保存 Webhook,每个频道一个
- 带有与 Discord 外观一致的预览的可视化编辑器
- 最多 10 个嵌入,支持字段、图片、作者和页脚
- 除非允许,提及不会通知任何人
- 模板变量在动作运行时填入
Discord Webhook 让任何知道其 URL 的程序都能向某个 Discord 频道发布消息。Discord Webhook 集成会按名称保存 Webhook,并提供一个带有可视化消息编辑器的动作:发送 Discord Webhook 消息。运行 Macro Deck 的电脑上不需要 Discord 应用,也不需要 Discord 账户。
可以发送的内容
编辑器有四个选项卡:
- 消息:支持 Discord Markdown 和换行的消息文本,以及用于插入用户或身份组提及、
@everyone或@here的按钮。 - 嵌入:最多 10 个嵌入,每个都可以包含标题和标题链接、描述、颜色、时间戳、作者、页脚、图片、缩略图,以及最多 25 个可并排显示的字段。
- 资料:本条消息使用的用户名和头像,代替 Webhook 自身的设置。
- 提及:消息中的提及可以通知哪些人。
默认情况下,即使消息提及了某人、@everyone 或 @here,也不会通知任何人。提及仍会显示在 Discord 中,只是不会发出提醒。所有文本字段都支持模板变量,变量会在动作运行时填入,因此消息可以包含当前场景、歌曲或观看人数。
编辑器下方的预览会随输入实时变化,按 Discord 的样式显示消息。预览不会向 Discord 发送任何内容。图片显示为占位符,变量按原样显示。发送测试消息 在用 立即发送 确认后会立即将消息发送到 Discord,便于查看实际效果。
示例设置:
- 一个 开始直播 按键,向公告频道发布包含直播标题和链接的嵌入。
- 一个将正在播放的歌曲发布到音乐频道的按键。
- 一个在直播中发生某件事时向管理员频道发送消息的自动化。
已保存的 Webhook 和自定义 URL
为每个频道添加一个配置,然后在每个动作中按名称选择 Webhook。URL 变化时,只需在一处修改。对于一次性消息,也可以将 Webhook 设为 自定义 URL,并将 URL 粘贴到动作中。Macro Deck 会加密存储每个 Webhook URL,之后不再显示,也绝不会写入日志。
Macro Deck 会在发送前检查 Discord 的限制,例如消息文本最多 2000 个字符、所有嵌入合计最多 6000 个字符,并在编辑时将问题列在预览上方。当 Discord 限制 Webhook 的发布频率时,如果等待时间不超过 5 秒,Macro Deck 会等待并再试一次。
准备工作
- Windows、macOS 或 Linux 上的 Macro Deck 3
- 运行 Macro Deck 的电脑可以连接互联网
- 一个有权管理 Webhook 的 Discord 频道及其 Webhook URL
设置步骤
第 1 步: 在 Discord 中创建 Webhook
在 Discord 中打开频道设置,进入 Integrations,再进入 Webhooks,创建一个 Webhook 或选择一个已有的 Webhook。点击 Copy Webhook URL。URL 以
https://discord.com/api/webhooks/开头。任何拥有它的人都能向该频道发布消息,因此请像对待密码一样对待它。第 2 步: 在 Macro Deck 中打开 Discord Webhook
在 Macro Deck 中,点击侧边栏中的 集成,然后点击 Discord Webhook。在 概览 选项卡的 配置 部分中点击 添加配置。打开右上角的开关也会打开同一个对话框。
第 3 步: 保存 Webhook
填写 添加 Discord Webhook 对话框:
- 名称:在动作中选择 Webhook 时显示,例如频道名称。
- Webhook URL:在 Discord 中复制的 URL。
点击 继续。为每个其他频道各添加一个配置。
第 4 步: 为按键添加动作
在 面板 页面上,点击要使用的按键。面板必须处于解锁状态:右上角的按钮显示 锁定 时即为已解锁。编辑器打开时已选中 短按。点击 + 添加动作,在 添加动作 对话框左侧选择 Discord Webhook,然后选择 发送 Discord Webhook 消息。
第 5 步: 编写消息
在 Webhook 下选择已保存的 Webhook。在 消息 选项卡中编写 消息文本,如有需要,在 嵌入 选项卡中添加嵌入。检查预览,然后点击 发送测试消息 和 立即发送,在 Discord 中查看消息。
第 6 步: 按下按键
在手机、平板电脑或网页客户端上按下按键。消息会出现在 Discord 频道中,其中的变量已填入。如果没有出现,动作会显示原因,例如 Discord 拒绝了 Webhook 令牌。
动作1
可以放在按键上,也可以在流程中运行。
- 发送 Discord Webhook 消息
- 通过已保存或自定义的 Discord Webhook 发送消息,可附带嵌入,并使用实时预览进行编辑。
常见问题解答
如何提及用户或身份组?
提及需要 Discord ID。在 Discord 的高级设置中打开 Developer Mode,然后右键点击用户或身份组并选择 Copy ID。在 提及 选项卡中,选择不通知任何人、通知所有被提及的人,还是只通知列出的 ID。
它与 Discord 集成有什么区别?
Discord 集成有一个较早的 执行 Webhook 动作,只支持一个嵌入且没有预览。该动作仍可继续使用。Discord Webhook 增加了多个嵌入、提及控制、每条消息单独的资料以及实时预览。
Webhook URL 存储在哪里?
Macro Deck 会将其加密存储在运行 Macro Deck 的电脑上。它不会再次显示,不会写入日志,也不会出现在预览中。要更改它,请重新输入。只接受 discord.com、discordapp.com、ptb.discord.com 和 canary.discord.com 上的 Discord Webhook 地址。
为什么测试消息中的变量没有填入?
发送测试消息 会按原样发送变量。只有当动作从按键、自动化或脚本运行时,变量才会填入。
为什么动作会失败?
动作会显示原因,例如消息为空或过长、Webhook 在 Discord 中已不存在、Discord 拒绝了 Webhook 令牌,或者 Discord 正在限制该 Webhook 的发布频率。如果令牌被拒绝,请重新复制 Webhook URL 并在配置中输入。
可以在 Companion 应用中编辑消息吗?
Companion 应用和旧版桌面应用会显示动作的原始设置,消息以 content 和 embeds.0.title 等键和值的形式出现,并且不会保存在可视化编辑器中所做的更改。请在当前版本的桌面应用中编辑丰富消息。