【问题标题】:Is it possible to delete message sent out by bot made from google script in slack channels?是否可以在松弛频道中删除由谷歌脚本制作的机器人发出的消息?
【发布时间】:2020-10-17 22:40:59
【问题描述】:

我有一个 google 脚本,可以将消息从 google 脚本直接发送到 slack。我有一个问题,我无法删除我制作的机器人发送到松弛频道的消息。我们是否可以删除此类操作发出的消息?我联系了 slack 支持,但没有真正帮助告诉我查看 https://api.slack.com/web 或 https://api.slack.com/methods/chat.delete

作为 slack 服务器的非所有者或管理员,我们是否可以通过我们从 google 脚本编码的机器人创建删除操作,以允许为机器人发送的特定消息设置删除按钮?

我正在使用一个 webhook,它为我的任务发送到特定通道,我的代码以如下内容结尾:

var options = {
    "method": "post",
    "contentType": "application/json",
    "payload": JSON.stringify(payload)
  };
  
  return UrlFetchApp.fetch(url,options);
} 

【问题讨论】:

  • 必须有特权和/或未记录的方式来执行此操作。来自 SlackBot 的消息(例如 /remind 项目)在其更多操作下拉列表中具有删除选项。
  • @Ken_LYK 你能找到解决办法吗?

标签: google-apps-script google-sheets slack slack-api


【解决方案1】:

使用chat.delete 方法,您通常可以删除自己的消息。但是,您的机器人将无法删除您的消息,因为它们是通过 webhook 创建的。这些消息不再属于机器人用户,而是属于 webhook 应用程序。 (它可能仍然适用于应用程序的用户令牌,并假设您使用的是来自您自己的应用程序的 webhook,而不是通过 Slack 的 webhook 应用程序)。

所以解决方案是通过 chat.postMessage 发送您的消息,而不是使用机器人令牌的 webhook。然后这些消息属于您的机器人用户,您的机器人将能够删除它们。

但有一个警告。工作区管理员可以禁止用户删除自己的消息(请参阅here)。在这种情况下,删除消息的唯一方法是成为管理员或所有者。

【讨论】:

    猜你喜欢
    • 2016-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 2021-01-17
    • 1970-01-01
    相关资源
    最近更新 更多