Slack API:如何回复附件操作?
Slack API: How to reply for an attachment action?
我已经创建了一个与 Slack 的集成作为 WebHook 应用程序。代码是向松弛通道发送消息,使用 chat.postMessage 方法,带有一些附件操作,然后当用户单击操作按钮时,我向他发送一条成功消息。我正在尝试做这样的事情:
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)
)
如何让 Slack 显示附件部分的答案,如上图所示?如果我在 $answer 上评论文本部分,Slack 会向用户显示错误 ('Oh no, something went wrong. Please try that again.')。非常感谢您的帮助。
我找到了解决方案。在这里发帖以帮助遇到同样问题的人。当您发布消息时,附件部分应该 json_encode,但是当您发布附件操作答案时,则不是必需的。这是解决方案:
$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' => $attachments
)
我已经创建了一个与 Slack 的集成作为 WebHook 应用程序。代码是向松弛通道发送消息,使用 chat.postMessage 方法,带有一些附件操作,然后当用户单击操作按钮时,我向他发送一条成功消息。我正在尝试做这样的事情:
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)
)
如何让 Slack 显示附件部分的答案,如上图所示?如果我在 $answer 上评论文本部分,Slack 会向用户显示错误 ('Oh no, something went wrong. Please try that again.')。非常感谢您的帮助。
我找到了解决方案。在这里发帖以帮助遇到同样问题的人。当您发布消息时,附件部分应该 json_encode,但是当您发布附件操作答案时,则不是必需的。这是解决方案:
$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' => $attachments
)