python - Slack app_home_opened 事件调用两次
问题描述
我已经构建了一个 slack 应用程序。但是对于 onbording 进程slack app_home_opened事件调用了两次。我检查了这两个事件几乎是同时触发的。 代码
from slackeventsapi import SlackEventAdapter
slack_events_adapter = SlackEventAdapter(
Constants.ENV["SLACK_APP_SIGNING_SECRETS"], "/slack/events", app
)
@slack_events_adapter.on("app_home_opened")
def app_home_opened(event_data):
threading.Thread(target=handleOnBording).start()
return "", 200
第一个事件有效负载:
{
'token': '*****',
'team_id': 'T311FQLU8CT',
'api_app_id': 'K711C41FET3',
'event': {
'type': 'app_home_opened',
'user': 'F511MQLU8KB',
'channel': 'E211HGWLUKG',
'tab': 'messages',
'event_ts': '1590756776.195938'
},
'type': 'event_callback',
'event_id': 'Ev014P7CG7N0',
'event_time': 1590756776
}
第二个事件有效负载:
{
'token': '*******',
'team_id': 'T311FQLU8CT',
'api_app_id': 'K711C41FET3',
'event': {
'type': 'app_home_opened',
'user': 'F511MQLU8KB',
'channel': 'E211HGWLUKG',
'tab': 'messages',
'event_ts': '1590756776.212203'
},
'type': 'event_callback',
'event_id': 'Ev014FLBULHK',
'event_time': 1590756776
}
我正在使用python 的slackeventsapi包与 slack 交互。我知道如果我们在 3 秒内没有响应,slack 会重试请求,但我会在 3 秒内响应每个请求。
解决方案
这可能不是这个问题的预期解决方案,但是:我已经就此与 Slack 团队联系,结果证明这是一个错误,他们意识到了这一点,尽管他们似乎没有预计何时修复。
考虑到这一点,恐怕如果您遇到此问题,您应该考虑在您的事件 API 中实现一种解决方法,这将保证您只处理该系列中的一个事件。根据您的用例和基础设施(数据库、框架等),实际的解决方案可能会有所不同。
推荐阅读
- swift - 在 tableViewCell 中的 UIView 内放置渐变颜色
- sql-server - 内部加入选择语句以按日期查找下一条记录
- android - 现实世界中的安卓认证
- mysql - 如何加快慢查询MYSQL
- phpmyadmin - Phpmyadmin 显示损坏的图像,并显示图标两次
- javafx - 这些方法“isIgnoreText()”和“isIgnoreGraphic()”在 JAVAFX 中的功能是什么
- c - C将值传递给matlab并从中获取结果
- javascript - 如何在聚焦文本输入字段的同时更改 div 的背景颜色?
- html - 不需要 - 移动视图中的空白 - 为什么会发生?
- reactjs - React live server 没有显示任何内容,只是显示选项卡继续加载