无法替换或删除对 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 对象强烈建议。
我正在构建一个处理斜杠命令的 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 对象强烈建议。