SuperAPI AI 工具集

slack-webhooks

编程与开发

查看项目

更新于 10-15 22:14

技能介绍

用途:帮助开发者搭建 Slack Events API 的 Webhook 处理端点(Request URL),并排查 X-Slack-Signature 校验失败、处理初始 url_verification 挑战,以及 app_mention、message、reaction_added、team_join、app_home_opened 等事件。

主要能力:Slack 对每个 Events API 请求使用 HMAC-SHA256 签名,签名内容为字面字符串 v0:{timestamp}:{raw_body},结果以 X-Slack-Signature: v0=<hex> 发送。技能给出 JavaScript 与 Python 的校验函数,包含 5 分钟重放保护与 timingSafeEqual/compare_digest 比较。必须使用原始请求体,先校验再解析 JSON,否则字节顺序变化会导致签名失效。

使用方式:Express 示例用 express.raw({ type: 'application/json' }) 获取原始体,校验通过后解析 payload;若 type 为 url_verification 则返回 { challenge: payload.challenge };event_callback 则按 event.type 分支处理,最后在 3 秒内返回 200,否则 Slack 会重试。环境变量为 SLACK_SIGNING_SECRET。本地开发可用 npx hookdeck-cli listen 3000 slack --path /webhooks/slack 转发事件,再把 Hookdeck URL 填入 Slack App 的 Event Subscriptions → Request URL。

适用场景:Slack 应用的事件订阅后端、签名校验调试、事件分发与重试处理。

限制:资料未提供收费、价格、平台支持范围等信息;完整可运行示例与测试见 examples/express、examples/nextjs、examples/fastapi,参考资料见 references/overview.md、setup.md、verification.md。建议配合 webhook-handler-patterns 技能处理幂等、错误与重试逻辑。