Slack app_home_opened事件调用两次

问题描述 投票:3回答:1

我建立了一个懒人应用,但在登录过程中,我发现了一个问题 懒惰的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
}

我用的是 slackeventsapi 我知道,如果我们在3秒内没有响应,slack就会重试请求,但我对每个请求都在3秒内响应,我已经建立了一个slack应用,但在登录过程中,slack app_home_opened事件调用了两次。

python events slack slack-api
1个回答
0
投票

这可能真的不是这个问题的预期解决方案,但是:我已经联系了Slack团队,事实证明这是一个bug,他们已经意识到了这个问题,不过他们似乎还没有什么时候能修复的ETA。

考虑到这一点,恐怕如果你遇到了这个问题,你应该考虑在你的事件API中实现一个变通方法,这将保证你只能处理系列中的一个事件。根据你的用例和你的基础设施(数据库、框架等),实际的解决方案可能有所不同。

© www.soinside.com 2019 - 2024. All rights reserved.