如何在单击后禁用slackbot按钮

时间:2017-12-11 13:53:32

标签: node.js slack slack-api chatbot

我正在使用类似的东西为slackbot创建按钮:

const messageB = {
        "attachments": [
            {
                "text": "Essa mensagem foi útil?",
                "callback_id": "button_feedback",
                "color": "#3AA3E3",
                "attachment_type": "default",
                "actions": [
                    {
                        "name": "button_click_yes",
                        "text": "sim",
                        "type": "button",
                        "value": "yes"
                    },
                    {
                        "name": "button_click_no",
                        "text": "não",
                        "type": "button",
                        "value": "no"
                    }
                ]
            }
        ]
    };

但是在发送消息后该按钮仍然有效,并且可以由用户再次使用。我想停用它,或者在使用它之后将其删除。但我无法在文档的任何地方找到它。

1 个答案:

答案 0 :(得分:2)

单击按钮将始终向Slack应用程序发出请求。如果要在单击按钮后删除该按钮,则需要使用反映更改状态的新消息更新原始消息(例如,删除按钮)。虽然不能用Slack显示停用的按钮,所以你需要将其删除。

要替换原始消息,您需要做的就是使用更新的消息响应Slack请求。

但是,从技术上讲,用户仍然可以点击两次按钮(例如由于网络延迟),因此应用程序应该能够以适当的方式响应同一用户对按钮的多次点击。

有关该主题的官方文档,另请参阅here

另请参阅herehere以获取有关类似主题的答案。