Команды слэша Slack API и интерактивные компоненты модальные
Пытаюсь сделать бота в слабину. Я создал команду косой черты с / showmodal, когда команда запустила мой api, верните этот json
{
"type": "modal",
"title": {
"type": "plain_text",
"text": "My App",
"emoji": true
},
"submit": {
"type": "plain_text",
"text": "Submit",
"emoji": true
},
"close": {
"type": "plain_text",
"text": "Cancel",
"emoji": true
},
"blocks": [
{
"type": "input",
"element": {
"type": "plain_text_input",
"multiline": true
},
"label": {
"type": "plain_text",
"text": "Label",
"emoji": true
}
}
]}
Я жду такого результата
Но я получаю этот ответ вместо модального
/ showmodal не удалось с ошибкой "invalid_blocks"
1 ответ
Я уже решил проблему, прочитав документацию, я забыл включить свойство trigger_id и view
См. Правильную полезную нагрузку ниже
{ "trigger_id": "TriggerIdFromRequestPayload", "view": { "type": "modal", "callback_id": "modal-identifier", "title": { "type": "plain_text", "text": "New Post" }, "submit": { "type": "plain_text", "text": "Submit", "emoji": true }, "close": { "type": "plain_text", "text": "Отмена", "эмодзи": true}, "блоки": [ { "тип": "ввод", "элемент": {"тип": "простой_текст_ввод", "action_id": "title", "placeholder": { "type": "plain_text", "text": " Введите заголовок "}}," label ": {" type ":" plain_text "," text ":" Заголовок " } }, { "type": "input", "element": { "type": "plain_text_input", "multiline": true }, "label": { "type": "plain_text", "text": "Content", "emoji": true } } ] } }{"type": "plain_text", "text": "Введите заголовок"}}, "label": {"type": "plain_text", "text": "Title"}}, {"type": "input "," element ": {" type ":" plain_text_input "," multiline ": true}," label ": {" type ":" plain_text "," text ":" Content "," emoji ": true}} ]}}{"type": "plain_text", "text": "Введите заголовок"}}, "label": {"type": "plain_text", "text": "Title"}}, {"type": "input "," element ": {" type ":" plain_text_input "," multiline ": true}," label ": {" type ":" plain_text "," text ":" Content "," emoji ": true}} ]}}"label": {"type": "plain_text", "text": "Title"}}, {"type": "input", "element": {"type": "plain_text_input", "multiline": true }, "label": {"type": "plain_text", "text": "Content", "emoji": true}}]}}"label": {"type": "plain_text", "text": "Title"}}, {"type": "input", "element": {"type": "plain_text_input", "multiline": true }, "label": {"type": "plain_text", "text": "Content", "emoji": true}}]}}plain_text_input "," multiline ": true}," label ": {" type ":" plain_text "," text ":" Content "," emoji ": true}}]}}plain_text_input "," multiline ": true}," label ": {" type ":" plain_text "," text ":" Content "," emoji ": true}}]}}