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

2024-10-01 11:24:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python,它的SlackerAPI将消息发布到slack通道,并且它很好地发布了消息。在

现在我要做的是创建一个按钮,上面写着,更多信息,当它被点击时,我想要显示一个项目列表。 但是当按钮被点击时,slackbot显示{}

下面是一个例子: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中的样子。 enter image description here

感谢任何帮助!谢谢:)


Tags: 项目text信息消息message列表linkusername
1条回答
网友
1楼 · 发布于 2024-10-01 11:24:01

你已经有按钮端点设置了吗?否则,您将看到错误消息。在

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

  1. 如果你还没有创建一个Slack应用程序。在
  2. 创建oauth GET端点(例如/slack/authorize
  3. 将Slack应用程序的“重定向URI”设置为您的身份验证端点
  4. 端点的查询参数中应该有一个code。使用你的应用程序的client_idclient_secret,调用Slack APIoauth.access,然后{}来交换上述应用程序令牌。要从bot发布交互式消息,需要bot令牌(前缀为“xoxo-”)。在

相关问题 更多 >