是否仍然可以通过发送消息直接响应松弛事件HTTP POST?

时间:2020-11-10 10:54:37

标签: python slack-api

我知道发生松弛事件时,它将作为HTTP POST(https://api.slack.com/events-api)出现。有没有办法指定要在响应正文中发送的消息?我正在关注(https://medium.com/@vinodhinic/lessons-i-learnt-while-building-slack-apps-3ecc6c929180),希望能够做同样的事情。

1 个答案:

答案 0 :(得分:1)

不。该文档没有表明您可以,如果可以的话,文档中会明确提及它。其他一些用于消息传递的API也可以使用(例如Twilio)。

即使有可能,Slack文档中也提供了一个很好的理由,为什么您不应该这样做?

您的应用应在三秒钟内用HTTP 2xx 响应事件请求。如果不是,我们将认为事件传递尝试失败。失败后,我们将重试3次,以指数方式退出。

保持每60分钟至少5%的事件响应成功率,以防止自动禁用。

请尽快以HTTP 200 OK响应事件。避免在同一过程中实际处理事件并对事件做出反应。实施一个队列,以在收到入站事件后对其进行处理。

如果您的代码正在执行工作(例如,在数据库中查找内容,进行某种计算或发出网络请求)以准备响应以发送回去,则您会冒风险这项工作花费的时间太长(阻塞)并且没有及时发送200 OK,这意味着您的客户端没有按照文档中的规范运行。正如文档所建议的那样,通过将Webhook事件放入队列中来处理它们,然后根据队列中的内容发出响应。