我有一个谷歌脚本,可以将消息从谷歌脚本直接发送到 slack。我有一个问题,我无法删除我制作的机器人发送到松弛 channel 的消息。我们是否可以删除此类操作发出的消息?我联系了 slack 支持但没有真正帮助告诉我看看 https://api.slack.com/web或 https://api.slack.com/methods/chat.delete
作为 slack 服务器的非所有者或管理员,有没有什么方法能够通过我们从 google 脚本编码的机器人创建删除操作,以允许机器人发送特定消息的删除按钮?
我正在使用一个 webhook 发送到我的任务的特定 channel ,我的代码以如下所示的结尾:
var options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(payload)
};
return UrlFetchApp.fetch(url,options);
}
最佳答案
使用 chat.delete
方法,您通常可以删除自己的消息。但是,您的机器人将无法删除您的消息,因为它们是通过 webhook 创建的。这些消息不再属于 bot 用户,而是属于 webhook 应用程序。 (它可能仍然适用于应用程序的用户 token ,并假设您使用的是来自您自己的应用程序的 webhook,而不是通过 Slack 的 webhook 应用程序)。
因此解决方案是通过 chat.postMessage 发送您的消息,而不是使用 bot token 的 webhook。然后这些消息属于您的机器人用户,您的机器人将能够删除它们。
不过有一个警告。 Workspace 管理员可以禁止用户删除自己的消息(请参阅 here)。在这种情况下,删除消息的唯一方法是成为管理员或所有者。
关于google-apps-script - 是否可以删除由松弛 channel 中的谷歌脚本制作的机器人发出的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62609814/