我正在构建一个斜杠命令。我想像的流程是:
在第4步和第5步之间似乎出了问题。服务器处理选择并返回所需的响应:
{
"update": {"message": "Updated!"},
"ephemeral_text": "You updated the post!",
"attachments": [{
"text": "Ready?", "actions": [{
"name": "Go!",
"integration": {
"url": "https://somewhere.com?foo=bar
"context": {"action": "event_submitted"}
}
}]
}]
}
...但是客户端中什么都没显示。
该JSON出问题了吗?我尝试了其他操作,例如仅返回短信。
我想知道,如果我误解了文档,客户端将永远不会评估交互式消息触发的POST的响应。在那种情况下,我将不得不从服务器向Mattermost API发出新请求,以进入工作流程的下一步。正确吗?
答案 0 :(得分:1)
在这种情况下,我误解了Mattermost的工作原理。您无法处理来自Mattermost的POST并返回另一个交互式按钮,因为Mattermost不会评估响应主体。您必须向API(或Webhook)发出请求才能继续。
答案 1 :(得分:1)
可以从Mattermost更新POST
上的附件。文档中的相关部分:How do I manage properties of an interactive message?。解决方案是将新附件包装在update.props
内,如下所示:
{
"update": {
"message": "Updates messsage",
"props": {
"attachments": [
{
"text": "Updated attachment text",
"actions": [
{
"name": "Updated action.",
"integration": {
"url": "...",
"context": {
"action": "do something"
}
}
}
]
}
]
}
}
}