2016-08-16 3 views
0

Я создал интеграцию с Slack как WebHook APP. Код состоит в том, чтобы отправить сообщение на слабый канал, используя метод chat.postMessage, с некоторыми действиями вложений, а затем, когда пользователь нажимает кнопку действия, я отправляю ему сообщение об успешном завершении. Я пытаюсь сделать что-то вроде этого:Slack API: как ответить на вложение?

https://api.slack.com/img/api/message_guidelines/Example_6.gif

Проблема заключается в том, когда я пытаюсь отправить сообщение об успехе. Slack получает только текстовую часть ответа. Вот код:

$message = 'Pre-text message'; 

$attachments = array(
    array(
    "title" => 'Title message', 
    "author_name" => 'My name', 
"author_link" => 'https://www.facebook.com/', 
"author_icon" => 'https://graph.facebook.com/v2.6/picture', 
"image_url" => 'https://i.scdn.co/image', 
), 
); 

$answer = array(
    'text' => $message, 
    'attachments' => json_encode($attachments) 
) 

Как я могу сделать, чтобы показать отними ответ с крепежной части, как показано на изображении выше? Если я прокомментирую текстовую часть на $ answer, Slack покажет ошибку пользователю («О нет, что-то пошло не так, попробуйте еще раз»). Большое спасибо за любую помощь.

+0

Вы никогда не используете 'json_encode()' в частях ответа, вы используете его на всем протяжении, независимо от того, какое это сообщение. – miken32

ответ

0

Я нашел решение. Проводятся здесь, чтобы помочь кому-то с той же проблемой. Когда вы отправляете сообщение, нужно json_encode часть вложения, но при отправке ответа на действие вложений нет необходимости. Ниже приведено решение:

$answer = array(
    'text' => $message, 
    'attachments' => $attachments 
) 
Смежные вопросы