Команды слэша 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}}]}}

Другие вопросы по тегам