【问题标题】:Slack API - Create a button that returns text from a variableSlack API - 创建一个从变量返回文本的按钮
【发布时间】:2017-07-21 08:04:13
【问题描述】:

我正在通过 Python 创建一个 Post.message 到 Slack,并希望添加一个按钮功能。我希望按钮提供由low2 = low["serials"] 表示的序列号列表。这是我目前拥有的代码,它将按钮添加到松弛消息中,但是当我单击按钮时,我收到一条错误消息“哦,不,出了点问题。请再试一次。”来自 slackbot。我看到帖子说大多数人必须创建一个机器人来解决他们的按钮问题,但如果按钮只需要读取这个变量,我认为有办法解决这个问题。感谢您的帮助!

"fields": [
                {
                    "title": "Amount Used:",
                    "value": low1,
                    "short": 'true'
                },{
                    "title": "Distinct Device ID's:",
                    "value": out1,
                    "short": 'true'
                },
                {
                    "title": "Total Connection Time (hr):",
                    "value": data2,
                    "short": 'true'
                }
            ],
           "actions": [
                {
                    "name": "game",
                    "text": "Serials",
                    "type": "button",
                    "value": "serials",
                }
            ],

【问题讨论】:

    标签: slack slack-api


    【解决方案1】:

    不,没有办法绕过它。您必须创建一个Slack App(或“Internal Integration”)才能在您的应用程序中使用按钮。一个原因是,如果有人单击按钮(您的“操作 URL”),您需要告诉 Slack 要调用哪个 URL,并且只能将其配置为 Slack 应用程序的一部分。详情请查看互动消息中的this documentation

    关于你的方法。一个按钮只会向用户显示一个值。如果您的目标是让用户从序列号列表中进行选择,我认为您有两种选择:

    a) 创建一组按钮,每个序列号一个

    b) 使用 interactive menu 为您的列表创建下拉菜单

    【讨论】:

      【解决方案2】:

      我通过将确认操作按钮转换为显示我想要的值解决了我的问题。

      with open('Count_BB_Serial_weekly.json', 'r') as lowfile:
            low = json.load(lowfile)
      
      low1 = low["total_serials"]
      low2 = low["serials"]
      low3 = '\r\n'.join(low2)
      

      上面是我的脚本,它导入数组并读取值。下面我将结果放入“确认”弹出按钮中。

       ],
             "actions": [
                  {
                      "name": "game",
                      "text": "Serials",
                      "type": "button",
                      "value": "serials",
                      "confirm": {
                          "title": "Serial Numbers",
                          "text": low3,
                          "ok_text": "Yes",
                          "dismiss_text": "No"
                      }
              }],
      

      【讨论】:

      • 如果这是您问题的附加信息,请将此信息添加到问题中并删除此“答案”。谢谢
      猜你喜欢
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多