几秒钟测试你的 Discord Webhook。粘贴 URL、验证它,再发送一条测试消息,确认一切正常。
Discord Webhook 是一个唯一的 URL,让你不用机器人也能向特定的 Discord 频道发送消息。Webhook 常用于 GitHub 通知、服务器监控告警、CI/CD 流水线更新以及自定义集成。每个 Webhook 都有自己的名称和头像,并绑定到一个特定频道。
粘贴你的 Webhook URL,然后点击「检查」。工具会向 Discord API 验证该 URL,并显示 Webhook 的名称、头像和绑定的频道。如果有效,你可以输入自定义消息并通过 Webhook 发送出去,确认它能正常工作。出于安全考虑,你的 Webhook URL 会经过我们的服务器转发(浏览器因为 CORS 无法直接调用 Discord API),但绝不会被保存或记录。
当 Webhook 请求失败时,Discord 会返回一个 HTTP 状态码,响应体是包含数字 code 和 message 的 JSON。你真正会遇到的是这几种:
retry_after 字段(单位为秒),告诉你何时重试。请遵守它。content,也没有 embeds 和 files。至少需要其中一个。embed.color 当作十六进制字符串发送,而不是十进制整数。发送前把 #9B59B6 转换成 10181046。Discord 会按 Webhook 和按频道施加速率限制,而具体的桶大小由服务端决定并通过响应头给出,并不是一个固定数值。每个成功的响应都会包含 X-RateLimit-Limit、X-RateLimit-Remaining 和 X-RateLimit-Reset-After - 读取这些值来安排下一次请求,不要把固定速率写死在代码里。429 响应体里还会带上 retry_after 值(单位为秒)。对于高并发的集成(构建流水线、日志聚合),把多个事件合并到一条消息里:一次 Webhook 调用最多可以携带 10 个嵌入内容,每个嵌入内容合计最多 6,000 字符,通常足以把一波事件收敛成一次请求。
Webhook URL 是一种持有即可用的凭证。任何拿到完整 URL 的人,都能以 Webhook 机器人的身份向你的频道发消息,不需要任何额外认证。请把它当作密码来对待:
allowed_mentions 明确允许,否则 Discord Webhook 会忽略 @everyone 和 @here 提及。如果你不需要提及提醒,把 "parse": [] 设上即可全部关闭。如果你更习惯从终端测试,最小的负载就是一个 content 字段。POST 成功会返回 HTTP 204 和空响应体;如果在 URL 后面加上 ?wait=true,则返回 HTTP 200 和新建消息的 JSON。当你需要拿回消息 ID 时就用 ?wait=true(例如之后要通过 /webhooks/<id>/<token>/messages/<message_id> 接口编辑或删除这条消息)。
由 Pigona 提供支持 - 为 Discord 打造的免费翻译