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

Par*_*ala 5 python slack-api slack

我正在使用Python及其SlackerAPI将消息发布到松弛通道,并且很好地发布了消息。

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

这是一个示例:链接

以下是我的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)
Run Code Online (Sandbox Code Playgroud)

这就是我单击“ 更多信息”按钮时在Slack中的外观。 在此处输入图片说明

任何帮助表示赞赏!谢谢 :)

Kel*_*ler 5

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

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

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

  • 谢谢,您是对的,我必须创建一个端点。Slack API文档有点杂乱无章,很难弄清楚。 (3认同)
  • @ParthBhoiwala是的,这是Slack的sh * t文档! (2认同)