提交表单后打开新的模式Slack Bot

问题描述

因此,我创建了一个松弛机器人,用于打开带有表单的模式。提交表单后,我想打开另一个模式或更新该模式

表格提交成功!

由于某种原因,第二个模式无法打开。我尝试使用views.pushviews.openviews.update,但是它不起作用。也许我使用了错误的参数?我在下面包含了我的代码

slackInteractions.shortcut({ callback: 'devsquibby',type: 'shortcut'  },async (payload) => {
    if (payload.type=='shortcut') {
      console.log('we have action',payload)
      try {
            await webClient.views.open({
                trigger_id: payload.trigger_id,token: token,view: modalJsonBlock
            })
            // respond({
            //  text: 'Processing...',// });
        } catch (e) {
            'error',console.log(JSON.stringify(e))
        }

         // The return value is used to update the message where the action occurred immediately.
         // Use this to items like buttons and menus that you only want a user to interact with once.
    }

 if (payload.type=="view_submission") {

    try {
        console.log('success',payload.view.id)
        await webClient.views.update({
            view_id: payload.view.id,view: sampleJsonBlock
        })
        const blockData = payload.view.state
        // console.log('SUBMISSION THOURHG ACTION',blockData.values.type_block)

        // const user = payload.user.username
        // const classSelection = blockData.values.class_block.class_input.selected_option.text.text
        // const assignmentSelection = blockData.values.assignment_block.assignment_input.selected_option.text.text
        // const question = blockData.values.question_block.question_input.value
        const form = {
                    user: payload.user.username,classSelection: blockData.values.class_block.class_input.selected_option.text.text,assignmentSelection: blockData.values.assignment_block.assignment_input.selected_option.text.text,question: blockData.values.question_block.question_input.value,type: blockData.values.type_block.type_input.selected_option.text.text,repo_url: blockData.values.repo_block.repo_input.value
            
        }
        console.log('submission',form)
        await postAirTable(form);
    }
  catch (e) {
    'error',console.log(JSON.stringify(e))
}

这是我的JSON代码块:

const sampleJsonBlock = {
    "type": "modal","close": {
        "type": "plain_text","text": "Close","emoji": true
    },"title": {
        "type": "plain_text","text": "Success!","blocks": [
        {
            "type": "section","text": {
                "type": "mrkdwn","text": "Submission Successful!"
            }
        },{
            "type": "image","title": {
                "type": "plain_text","text": "Success!"
            },"image_url": "https://media.giphy.com/media/nXxOjZrbnbRxS/giphy.gif","alt_text": "success submission"
        }
    ]
}
const modalJsonBlock = {
    "type": "modal","callback_id": ...,"submit": {
        "type": "plain_text","text": "Submit","text": "Cancel","text": "Student Question Bot!","blocks": [
        {
         ...
        }
    ]
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)