404 при получении слабой модальной отправки с помощью nodeJS и экспресс - PullRequest
0 голосов
/ 04 октября 2019

У меня проблемы с получением содержимого модальной отправки Slack с использованием nodeJS и express.

Вот мое слабое представление, которое я могу успешно открыть через интерактивный компонент

{
  view: {
    'type': 'modal',
    'title': {
      'type': 'plain_text',
      'text': 'Example Modal ?'
    },
    'close': {
      'type': 'plain_text',
      'text': 'Cancel'
    },
    'callback_id': CALLBACK_IDS.MY_CALLBACK,
    'blocks': [
      {
        'type': 'input',
        'block_id': 'input_id_1',
        'label': {
          'type': 'plain_text',
          'text': 'Example'
        },
        'element': {
          'type': 'plain_text_input',
          'action_id': 'input_id_1',
          'placeholder': {
            'type': 'plain_text',
            'text': 'PLACEHOLDER'
          },
          'multiline': false
        },
        'optional': false
      },
    ],
    'submit': {
      'type': 'plain_text',
      'text': 'Save',
    },
  },
};

Когда пользователь отправляет представление, я получаю полезную нагрузку

{
          "type" => "view_submission",
          "team" => {...
    },
          "user" => {...
    },
    "api_app_id" => "XXX",
         "token" => "XXX",
    "trigger_id" => "XXXX",
          "view" => {
                      "id" => "XXX",
                 "team_id" => "XXX",
                    "type" => "modal",
                   "title" => {
             "type" => "plain_text",
             "text" => "Example Modal :rocket:",
            "emoji" => true
        },
                   "close" => {...},
                  "submit" => {...},
                  "blocks" => [...],
        "private_metadata" => "",
             "callback_id" => "my_callback_name",
                   "state" => {
            "values" => {...},
                    "hash" => "XXX",
          "clear_on_close" => false,
         "notify_on_close" => false,
            "root_view_id" => "XXX",
        "previous_view_id" => nil,
                  "app_id" => "XXX",
             "external_id" => "",
                  "bot_id" => "XXX"
    }
}

Iне могу найти способ перехватить это сообщение, используя библиотеку слабых узлов и createMessageAdapter из @slack/interactive-messages

Я пробовал следующее

const slackInteractions = createMessageAdapter(process.env.SLACK_SIGNING_SECRET);
slackInteractions
    .action({ view: { callbackId: CALLBACK_IDS.MY_CALLBACK }}, myCallback)
    .action({ type: 'view_submission' }, myCallback)

Но каждый раз, когда мое экспресс-приложение возвращает 404 Not Found

Как правильно перехватить слабую модальную передачу?

Я черпал вдохновение из этой страницы вместе с различными другими источниками из документации Slack API

...