Slack событие app_home_opened вызывается дважды - PullRequest
3 голосов
/ 29 мая 2020

Я создал Slack-приложение, но для процесса записи 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
}

Я использую slackeventsapi пакет из python для взаимодействия со Slack. Я понимаю, что Slack повторяет запрос, если мы не отвечаем в течение 3 секунд, но я отвечаю в течение 3 секунд на каждый запрос.

1 Ответ

1 голос
/ 10 июня 2020

Возможно, это не совсем ожидаемое решение этой проблемы, но: я связался с командой Slack по этому поводу, и оказалось, что это ошибка, и они знают об этом, хотя они не кажутся чтобы указать расчетное время прибытия, когда это будет исправлено. вы будете обрабатывать только одно из событий в серии. В зависимости от вашего варианта использования и вашей инфраструктуры (база данных, фреймворки и т. Д. c.) Фактические решения могут отличаться.

...