Slack API:单击按钮时执行某些操作

Slack API: Do Something when button is clicked

我正在使用 Python 并且它是 Slacker API 到 post 消息到松弛通道并且它 post 很好地发送消息。

现在我想做的是创建一个按钮,上面写着 更多信息,当它被点击时,我想显示一个项目列表。 但是当点击按钮时,slackbotoh no, something weng wrong, Please try that again

这是一个例子:link

下面是我的json和代码

msg = "<!here> Hello guys! "
moreInfo = ['person', 'person2', 'person3']
message = [{
"title": "Lunch time has been decided",
"text": "You will also be joining",
"actions": [
    {
        "name": "buttonName",
        "text": "More Info",
        "type": "button",
        "value": moreInfo
    }]

}]
slack.chat.post_message('#teamChannel', msg, username='my_username', attachments=message)

这就是我单击 更多信息 按钮时在 Slack 中的样子。

感谢任何帮助!谢谢:)

您是否已经设置了按钮端点?如果没有,您将看到该错误消息。

或者,如果您犯了与我相同的错误,那么您使用的令牌不正确。这在 Slack 文档中并不明显。您可以 post 带有自定义集成机器人令牌的消息,包括使用附件(即交互式按钮)。但是,如果您想要真正响应按钮按下,您需要 post 带有完整 Slack 应用程序令牌的消息(即使您不打算将您的应用程序发布到野外)。这意味着为您的 oauth2 流程创建一个端点以将您的应用程序添加到 Slack 团队,并在那里获取您的机器人令牌。

  1. 创建一个 Slack 应用程序(如果您还没有的话)。
  2. 创建一个 oauth GET 端点(例如 /slack/authorize
  3. 将您的 Slack 应用的 "Redirect URI" 设置为您的身份验证端点
  4. 您的端点应该在其查询参数中包含 code。使用您应用的 client_idclient_secretcode 调用 Slack API oauth.access 以交换上述应用令牌。要 post 来自机器人的交互式消息,您需要机器人令牌(前缀为 "xoxo-")。