SuperAPI AI 工具集

discord-webhooks

测试与质量

查看项目

更新于 10-15 22:14

技能介绍

用途:该技能面向 Discord 出站 Webhook(Discord → 你的服务器)的事件接收与验证,也适用于共享同一 Ed25519 签名方案的 Interactions 端点。入站 Webhook(服务器 → Discord 频道)不签名,不在覆盖范围内。

主要能力:使用 Ed25519 非对称签名(非 HMAC)验证请求,签名内容为 X-Signature-Timestamp 与原始请求体的拼接,公钥为十六进制编码,取自 Discord Developer Portal。处理 type 0 的 PING 端点验证请求,以及 type 1 的事件负载,如 APPLICATION_AUTHORIZED、APPLICATION_DEAUTHORIZED、ENTITLEMENT_CREATE、LOBBY_MESSAGE_CREATE、GAME_DIRECT_MESSAGE_CREATE、QUEST_USER_ENROLLMENT 等。

使用方式:Node.js 可用 discord-interactions 的 verifyKey(基于 tweetnacl),注意 v4 返回 Promise 需 await;必须使用 express.raw() 保留原始字节。Python 可用 PyNaCl 的 VerifyKey 校验。关键请求头为 X-Signature-Ed25519 与 X-Signature-Timestamp,环境变量 DISCORD_PUBLIC_KEY 存放公钥。PING 请求需验证签名后返回 2XX(推荐 204 空响应),否则端点注册失败。本地开发可用 npx hookdeck-cli listen 3000 discord --path /webhooks/discord 建立隧道。

适用场景:搭建 Discord Webhook 处理器、调试 Ed25519 签名验证、排查注册端点时的 invalid request signature 错误。

限制:仅覆盖出站 Webhook;完整事件参考、收费与价格等信息暂未提供。