Python Slack app_home_已打开事件调用两次

Python Slack app_home_已打开事件调用两次,python,events,slack,slack-api,Python,Events,Slack,Slack Api,我已经创建了一个slack应用程序。但是对于onbording过程,slack应用程序\u home\u打开了两次事件调用。 我已经检查过这两个事件几乎同时触发。 代码 from slackeventsapi import SlackEventAdapter slack_events_adapter = SlackEventAdapter( Constants.ENV["SLACK_APP_SIGNING_SECRETS"], "/slack/events", app ) @sla

我已经创建了一个slack应用程序。但是对于onbording过程,slack应用程序\u home\u打开了两次事件调用。 我已经检查过这两个事件几乎同时触发。 代码

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
}
第二个事件负载:

{
    '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团队联系过了,结果发现这是一个bug,他们已经意识到了,尽管他们似乎没有关于何时修复的预计时间


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

您是否也可以发布代码更新的代码?我想我们遇到了同样的问题。我们注意到,如果我们在应用程序之间切换,通常会收到3个事件(例如,从Jira->我们的应用程序),如果我们从直接消息/频道切换到我们的应用程序,通常会收到2个事件。类似地,我们确认这不是由延迟重试请求引起的(我们立即响应200,请求上没有X-Slack-RETRY-NUM头)。谢谢..我们在events API中使用了解决方案。