#javascript #node.js #slack #slack-api #slack-block-kit
#язык JavaScript #node.js #слабина #slack-api #комплект для ослабления блока
Вопрос:
Я создаю один ярлык, используя модель слабого болта без гнезда. Поэтому я использовал URL-адрес перенаправления. каждый запрос этого ярлыка попадает на этот URL. после открытия и отправки модели представления я не смог открыть модель представления подтверждения.ниже приведен мой код, который я использовал для создания модального представления. Ребята, пожалуйста, помогите и заранее спасибо.
receiver.router.post("/shortcut", async function (req, res,next) { req.on("data", async function (data) { let result = ''; try { result = data.toString(); let decode = decodeURIComponent(result).substring(8); let value = JSON.parse(decode) console.log("decode", value); if(value.type === "message_action"){ const config = { method: 'post', url:'https://slack.com/api/views.open', headers: { "Authorization": `Bearer ${process.env.SLACK_BOT_TOKEN}`, "Content-type": "application/json" }, data:{ "trigger_id": `${value.trigger_id}`, "view": { "type": "modal", "callback_id": "new_display_modal", "title": { "type": "plain_text", "text": "Add Note", }, "submit": { "type": "plain_text", "text": "Submit", }, "type": "modal", "close": { "type": "plain_text", "text": "Cancel", }, "blocks": [ { "type": "divider" }, { "type": "section", "text": { "type": "plain_text", "text": `${value.message.text}`, } }, { "type": "section", "text": { "type": "plain_text", "text": "This is a plain text section block.", } }, { "dispatch_action": true, "type": "input", "element": { "type": "plain_text_input", "action_id": "plain_text_input-action" }, "label": { "type": "plain_text", "text": "Enter ID", } } ] } } } res.status(200).send(await axios(config).then( async function(response) { // console.log("response1",(response.data)); }) .catch(function(err) { console.log("error",err); })) } else if(value.type === 'view_submission'){ // console.log("`${value.trigger_id}`",value.trigger_id); const config = { method: 'post', url:'https://slack.com/api/views.update', headers: { "Content-type": "application/json", "Authorization":`Bearer ${process.env.SLACK_BOT_TOKEN}`, }, data:{ "view_id": `${value.view.id}`, "hash":`${value.view.hash}`, // "trigger_id":`${value.trigger_id}`, "view": { "type": "modal", "title": { "type": "plain_text", "text": "hello", }, "blocks": [ { "type": "section", "text": { "type": "plain_text", "text": "This is a plain text section block." } } ], // "callback_id":"new_display_modal", "close": { "type": "plain_text", "text": "Close", }, // "submit": { // "type": "plain_text", // "text": "Submit", // }, } } } res.status(200).send(await axios(config).then(function(response) { console.log("response",(response.data)); }) .catch(function(err) { console.log("error",err); })) } } catch (error) { console.log(error); } })
}); };