Я отправляю сообщения в Slack через веб-хук. Уведомления о сообщениях с использованием одного «текстового» элемента JSON создают правильный текст уведомления с приложением Slack для OS X и iOS. Текст сообщения в канале тоже правильный. Однако при использовании нового метода «блокировки» текст уведомления становится «Это содержимое не может быть отображено». Сообщение правильно отображается в канале. Вот только уведомление не работает.
Согласно https://api.slack.com/messaging/composing/layouts текст в первом блоке используется для уведомления:
When you're using blocks in your message payload, the text field becomes a fallback message displayed in notifications.
Без использования стиля блоков это работает:
curl -s -k -X POST https://hooks.slack.com/services/${webhook} -H 'Content-type: application/json' --data @- << EOF
{
"text": "${message}"
}
EOF
Если вы создадите эквивалент стиля простых блоков с помощью приложения для создания блоков в https://api.slack.com/tools/block-kit-строитель, очистив весь существующий код, а затем добавив блок Section, у вас будет что-то вроде этого:
[
{
"type": "section",
"text": {
"type": "plain_text",
"text": "This is a plain text section block.",
"emoji": true
}
}
]
Теперь внизу страницы введите свой канал и нажмите «Отправить в Slack». В результате текст поступает в канал правильно, однако всплывающее уведомление содержит текст «Этот контент не может быть отображен».
Сначала я подумал, что мой собственный код стиля блока был неправильным, однако этот код, сгенерированный приложением для создания набора блоков, также не работает, что наводит меня на мысль, что существует проблема/ошибка с самим Slack.
Или есть что-то, что я упустил из виду?
Спасибо
да. См. api.slack.com/reference/messaging/composition-objects#text
В структуре сообщения есть несколько свойств "text"
. Я считаю, что документ относится к верхнему уровню за пределами всех определений блоков.
Пример:
{
"channel": "C1H9RESGL",
"text": "Text here for notifications",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Danny Torrence left the following review for your property:"
}
}
]
}
Это сделало это! Большое вам спасибо за вашу помощь!
К сожалению, если вы используете свойство text, вы не сможете просмотреть свое сообщение в Slack Block Kit Builder.
Конечно, нет. Конструктор Slack Block Kit предназначен только для блоков сообщения (часть под "blocks:"
)
Привет, я просто впервые читаю документы для slack, является ли обычный текст допустимым типом?