I have build a slack app.But for onbording process slack app_home_opened event calling twice. I have checked both events are triggered at almost same time. Code
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
First event payload:
{
'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
}
Second event payload:
{
'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
}
I am using slackeventsapi package of python to interact with slack.I understand slack retries the request if we don't respond in 3 seconds but i am responding within 3 seconds to every request.