我正在使用 Python 和 Flask 创建一个 Slack 应用程序。该应用程序使用具有两个视图的 Slack 模式:第一个在给出斜杠命令时打开,第二个应在用户按下第一个视图上的提交按钮时打开。当我运行它时,第一个视图正确打开。但是,当我尝试推送第二个视图时,它会立即打开然后关闭,在没有用户任何交互的情况下恢复到第一个视图。
我尝试使用notify_on_close标志来查看第二个视图是否由于某种原因被关闭,但是在第二个视图关闭后我没有收到任何“表单关闭”消息。
这是发生此问题的示例:
@app.route('/slash_command', methods=['POST'])
def open_modal():
trigger_id = request.form['trigger_id']
sc.views_open(trigger_id=trigger_id, view=views.first_view)
return '', 200
@app.route('/actions', methods=['POST'])
def action_endpoint():
payload = json.loads(request.form['payload'])
callback_id = payload['view']['callback_id']
trigger_id = payload['trigger_id']
# Push the second view if the first view is submitted
if callback_id == 'first_view':
sc.views_push(trigger_id=trigger_id, view=views.second_view)
return '', 200
我的观点很简单:
first_view = {
"type": "modal",
'callback_id': 'first_view',
"title": {
"type": "plain_text",
"text": "First View"
},
"submit": {
"type": "plain_text",
"text": "Submit"
},
"close": {
"type": "plain_text",
"text": "Cancel"
},
'blocks': []
}
second_view = {
'type': 'modal',
'callback_id': 'second_view',
'title': {
'type': 'plain_text',
'text': 'Second View',
},
'submit': {
'type': 'plain_text',
'text': 'Submit'
},
'close': {
'type': 'plain_text',
'text': 'Cancel'
},
'blocks': []
}
一只甜甜圈
相关分类