Ответ команды Slash отправляет два разных ответа, один пользователю и другой каналу - PullRequest
0 голосов
/ 25 января 2019

Я создал команду slack slash "/ myMeetings", на самом деле это настроено с помощью requestURL - https://slack.mycompany.com/slack

Так что теперь мой вариант использования - отправить ответ, содержащий два текстовых сообщения,одно из типов эфемерных и других сообщений для in_channel

request_type - in_channel 
and
request_type - ephemeral

что-то вроде этого

[
    {
      "response_type": "in_channel",
      "text": "This message will be shown to the entire channel"
    },
    {
      "response_type": "ephemeral",
      "text": "only shown to the user who initiates slash command"
    }
]

Как мне добиться этого поведения?

1 Ответ

0 голосов
/ 25 января 2019

Вы можете отправить только один прямой ответ на запрос команды Slash, и это может быть только in_channel или ephemeral.Таким образом, предлагаемый синтаксис не будет работать.

Однако, чтобы удовлетворить ваши требования, вы можете просто опубликовать сообщение в дополнение к ответу, указав chat.postMessage для in_channel или chat.postEphermal для эфемерных.Вы получите идентификатор канала в ответном запросе slask, чтобы вы знали, куда отправить сообщение.

Обратите внимание, что при таком подходе есть некоторые особые соображения:

  • Ваше приложениедля размещения сообщений потребуются дополнительные области (например, chat.write.bot)
  • . Этот подход будет хорошо работать в общедоступных каналах, но не в каком-либо частном или даже прямом канале сообщений, поскольку ваше приложение может не иметь доступа к этому каналу.Для смягчения я могу рекомендовать заставить пользователя пригласить вашего бота на любой частный канал, предоставив, таким образом, вашему приложению доступ.
...