使用Slack命令打开模式

丹妮

我有一个显示按钮的Slack命令。当我单击此按钮时,我需要显示一个模态。为此,单击它后,我执行以下操作:

const dialog = {
  callback_id: "submit-ticket",
  elements: [
    {
      hint: "30 second summary of the problem",
      label: "Title",
      name: "title",
      type: "text",
      value: "teste"
    },
    {
      label: "Description",
      name: "description",
      optional: true,
      type: "textarea"
    },
    {
      label: "Urgency",
      name: "urgency",
      options: [
        { label: "Low", value: "Low" },
        { label: "Medium", value: "Medium" },
        { label: "High", value: "High" }
      ],
      type: "select"
    }
  ],
  submit_label: "Submit",
  title: "Submit a helpdesk ticket"
};

const modalInfo = {
    dialog: JSON.stringify(dialog),
    token, // this is correct
    trigger_id: actionJSONPayload.trigger_id
  };


  // This is what I get confused with...

  // Method 1
  slack.dialog.open(modalInfo).catch(err => {
    console.log("ERROR: ", err);
  });
  // end method 1

  // Method 2
  sendMessageToSlackResponseURL(actionJSONPayload.response_url, modalInfo);

...

function sendMessageToSlackResponseURL(responseURL: any, JSONmessage: any) {
  const postOptions = {
    headers: {
      "Content-type": "application/json"
    },
    json: JSONmessage,
    method: "POST",
    uri: responseURL
  };
  request(postOptions, (error: any, response: any, body: any) => {
    if (error) {
      console.log("----Error: ", error);
    }
  });
}
// end method 2

Error: invalid_trigger当此触发是我的按钮自动生成的东西时,我总是使用method1。

方法2不会引发任何错误,但也不会打开任何模式/对话框。

官方文档不是很清楚,我也不知道是否需要调用dialog.open或views.open。无论哪种方式,Slack包都无法提供最后一个

这也是我要显示的按钮:

const message = {
        attachments: [
          {
            actions: [
              {
                name: "send_sms",
                style: "danger",
                text: "Yes",
                type: "button",
                value: "yes"
              },
              {
                name: "no",
                text: "No",
                type: "button",
                value: "no"
              }
            ],
            attachment_type: "default",
            callback_id: "alert",
            color: "#3AA3E3",
            fallback: "We could not load the options. Try later",
            text: "Do you want to alert by SMS about P1 error/fix?"
          }
        ],
        text: "P1 SMSs"
      };
丹妮

此处复制模式

const headers = {
  headers: {
    "Content-type": "application/json; charset=utf-8",
    "Authorization": "Bearer " + token
  }
};

const modalInfo = {
        "token": token,
        "trigger_id": reqBody.trigger_id,
        "view": slack.modal
      };

      axios
        .post("https://slack.com/api/views.open", modalInfo, headers)
        .then(response => {
          const data = response.data;
          if (!data.ok) {
            return data.error;
          }
        })
        .catch(error => {
          console.log("-Error: ", error);
        });

但最重要的是,当我们对应用程序进行一些更改时,我们需要重新安装它,并且当我们执行此操作时,令牌也会更改,而这是我在文档中找不到的

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

发生 API 错误:invalid_arguments 在 slack 中打开模式

来自分类Dev

使用命令模式

来自分类Dev

在命令行中使用特定模式在Vim中打开特定数量的文件

来自分类Dev

Ubuntu在命令模式下如何再次打开GUI模式?

来自分类Dev

Ubuntu在命令模式下如何再次打开GUI模式?

来自分类Dev

使用Jquery打开模式窗口

来自分类Dev

使用sed命令替换模式

来自分类Dev

正确使用命令模式?

来自分类Dev

在命令模式下使用Lambda

来自分类Dev

Powershell / CMD命令以兼容模式打开IE10

来自分类Dev

使用斜杠命令时,Slack API不接受\ n换行

来自分类Dev

使用VBScript以独占模式打开Excel文件

来自分类Dev

使用自动对焦打开模式弹出窗口

来自分类Dev

如何使用jQuery打开模式(引导程序)?

来自分类Dev

使用单例模式打开新的winform

来自分类Dev

使用模式匹配 VBA 打开文件

来自分类Dev

尝试使用Python以写入模式打开()打开文件的TypeError

来自分类Dev

使用什么命令打开崇高状态?

来自分类Dev

使用“查找”命令找到打开的文件

来自分类Dev

使用“查找”命令找到打开的文件

来自分类Dev

iTerm命令单击以使用Atom打开

来自分类Dev

使用什么命令打开崇高状态?

来自分类Dev

CMD命令使用链接打开文件

来自分类Dev

bash:无法使用命令打开文件

来自分类Dev

使用已执行的命令打开CMD

来自分类Dev

为什么打开新文件时会自动执行我的多命令vim命令模式缩写?

来自分类Dev

使用bash命令进入终端模式

来自分类Dev

对存储过程使用命令模式

来自分类Dev

使用单行命令删除多行模式