论坛事件 Webhook 通知 | Flarum Webhook

English | 简体中文
一个 Flarum 扩展,用于在论坛事件发生时发送 HTTP Webhook 通知。可将您的论坛与 Discord、Slack、自定义机器人或任何支持 Webhook 的服务集成。

功能
- 7 种事件类型:
post.created、post.revised、post.hidden、post.deleted、discussion.renamed、discussion.hidden、discussion.deleted
- 完整数据载荷:接收完整的用户、帖子和主题模型数据
- Bearer Token 认证:可选的令牌用于保护您的 Webhook 端点
- 简单配置:通过管理面板设置 Webhook URL 和认证信息
安装
使用 扩展程序管理器 或通过 composer 手动安装:
composer require import-ai/flarum-webhook:"*"
更新
composer update import-ai/flarum-webhook:"*"
php flarum migrate
php flarum cache:clear
配置
- 进入 管理后台 > 扩展 > Flarum Webhook
- 输入您的 Webhook URL - 接收 POST 请求的端点地址
- 可选输入 Bearer Token 用于认证
Webhook Payload
Webhook 发送 JSON POST 请求,包含 event 字段表示事件类型,以及相关的模型数据。
帖子事件
适用于 post.created、post.revised、post.hidden 和 post.deleted:
{
"event": "post.created",
"user": { "id": 1, "username": "admin", "display_name": "Admin", "email": "admin@example.com" },
"post": { "id": 42, "number": 3, "discussion_id": 10, "content": "<p>帖子内容...</p>" },
"discussion": { "id": 10, "title": "主题标题", "comment_count": 3 },
"actor": { "id": 1, "username": "admin" }
}
主题重命名
{
"event": "discussion.renamed",
"discussion": { "id": 10, "title": "新标题" },
"old_title": "旧标题",
"actor": { "id": 1, "username": "admin" }
}
主题隐藏/删除
适用于 discussion.hidden 和 discussion.deleted:
{
"event": "discussion.hidden",
"discussion": { "id": 10, "title": "主题标题" },
"actor": { "id": 1, "username": "admin" }
}
检测新主题
当创建新主题时,会为第一个帖子触发 post.created 事件。检测新主题的方法:
if (payload.post.number === 1 && payload.discussion.comment_count === 1) {
// 这是一个新主题!
}
链接