仅在主题创建时使用 webhook

亲爱的 Discourse 用户们,大家好 :slight_smile:

最近我开始使用 Webhooks。我设置了一个 Webhook 和 Integromat(类似于 Zapier),以便每当我的社区中创建新话题时,都会发布到我们的 Facebook 页面上。但问题是,如果有人对话题进行了修改(例如编辑或评论),它又会再次发布。我希望设置一个 Webhook,仅在创建新话题时发送数据(即只发送一次)。

因此,我想到了两种解决思路。第一种是设法让 Webhook 仅在话题创建时发送,但我找不到 Discourse 是否支持此功能。第二种是检查具有该 ID 的页面是否已经发布过。这种方式更复杂,甚至有些大材小用。

也许我遗漏了什么,其实有更简单的解决方案。请问正确的做法是什么?

请求让 Webhook 选项更加具体,这样的需求合理吗?

感谢大家的支持!:smiley:

你可以通过查看 Webhook 的 X-Discourse-Event 头来确认是否已为新建帖子或编辑帖子发送了 Webhook。对于新建帖子,该头将设置为 post_created;对于编辑帖子,则设置为 post_edited

我尚未使用过 Integromat,但关于在 Zapier 上根据事件类型进行过滤的流程,可在此处查看:Trigger a Zapier task with Discourse Webhooks

是的,我认为合理。我在使用“帖子事件”Webhook 时未遇到问题,但我非常希望能有一种方法限制“用户事件”Webhook,使其仅在用户被创建或更新时发送。

以下是如何在 Integromat 中设置过滤器的方法: