无法替换或删除对 Slack 斜杠命令的响应

Cannot replace or delete the response to Slack slash command

我正在构建一个处理斜杠命令的 Slack 机器人。

我正在关注 Slack 文档 https://api.slack.com/interactivity/handling#message_responses

并设法获得与命令激活一起发送的正确负载,即

token=TTT
apiAppId=AAA
teamId=MMM
teamDomain=acme
enterpriseId=null
enterpriseName=null
channelId=CCC
channelName=chan
userId=UUU
userName=Mugen
command=/cmd
text=my-text
responseUrl=https://hooks.slack.com/commands/XXX/YYY/ZZZ
triggerId=a.b.c
isEnterpriseInstall=false

我立即回复了一些文字。

然后当我 POST 使用 responseUrl 的延迟响应时,我得到了我的响应 post 正常,但是,原始消息没有被修改或删除。即使我 post 它一次又一次地相同 url.

curl --location --request POST 'https://hooks.slack.com/commands/XXX/YYY/ZZZ' \
--header 'Content-type: application/json; charset=utf-8' \
--data-raw '{
    "response_type": "ephemeral",
    "replace_original": true,
    "delete_original": true,
    "text": "txt"
}'

我尝试了对这两个布尔值的各种组合,但没有任何效果。我错过了什么吗?

我正在使用 Java sdk 来处理命令,post在此处使用简化术语显示它与 Java 代码无关。

似乎 delete/replace 的消息根本不支持命令响应。仅用于动作响应。

这在文档中并不明显,但 sdk 对象强烈建议。