如何仅更换带有松弛交互按钮响应的按钮(附件) [英] How to replace the buttons (attachment) only w/ Slack interactive buttons response

查看:0
本文介绍了如何仅更换带有松弛交互按钮响应的按钮(附件)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经设法使用Google Apps脚本(GAS)创建了一个简单的交互式按钮松弛应用程序。

我知道如何用回复替换原始消息,但我只想替换按钮,如Slack Interactive Button文档中的多个位置所示(但没有清楚说明):
https://api.slack.com/docs/message-buttons#crafting_your_message

我想做下面演示的操作: https://a.slack-edge.com/dcb1/img/api/message_guidelines/Example_6.gif

这是对原始邮件的更新,还是用相同的文本但不同的附件替换原始邮件...?

我当前的交互按钮消息代码如下:

function sendMsgWithButton() {

// slack channel url (where to send the message)
var slackUrl = "https://hooks.slack.com/services/...";

// message text  
var messageData = {
"text": "Here's your interactive buttons message.",
"attachments": [
    {
        "text": "Can you click the button?",
        "fallback": "Sorry, no support for buttons.",
        "callback_id": "ptNotificationButtonResponse",
        "color": "#3AA3E3",
        "attachment_type": "default",
        "actions": [
            {
                "name": "userResponse",
                "text": "OK",
                "style": "primary",
                "type": "button",
                "value": "ok"
            }
                   ]
    }
                ]
}

// format for Slack
var options = {
   'method' : 'post',
   'contentType': 'application/json',
   // Convert the JavaScript object to a JSON string.
   'payload' : JSON.stringify(messageData)
 };    

// post to Slack
UrlFetchApp.fetch(slackUrl, options);
}

我当前的操作URL代码如下所示:

function doPost() {

var replyMessage = {"replace_original": true,
                    "response_type": "in_channel",
                    "text": "I see you clicked the button."
                   };

 return ContentService.createTextOutput(JSON.stringify(replyMessage)).setMimeType(ContentService.MimeType.JSON);     
}

我不想替换整个原始消息,而是只将按钮替换为类似于上面gif中演示的复选框和确认消息。

谢谢!

推荐答案

您只能替换完整的邮件,而不能只替换一部分。

有两个选项可以更新原始邮件:

  1. 使用{"replace_original": true}

  2. 响应Slack请求
  3. 使用chat.update

如果您的原始邮件不是ephemeral类型,您将从original_message属性中的Slack获得原始邮件的副本作为负载的一部分,这有助于将原始邮件更新为Exchange。

请参阅Slack文档中的this page作为参考。

这篇关于如何仅更换带有松弛交互按钮响应的按钮(附件)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆