Slack 机器人在不参与的情况下在对话中发帖

Slack bot posting in a conversation without being in it

我在 slack 机器人周围看到的一切都表明,机器人不能 post 在未被邀请的对话中。
➡️ 但是,为什么 /giphy 或简单的民意调查 (/poll) 可以 post 在 PM(一对一)或未添加机器人的对话中?

功能方面,它支持 /command 和 post 文件到对话。

机器人可以:
- 在安装应用程序时接收 oauth 令牌(通过添加到 slack)
- 删除临时消息
- post 一个文件只在它被添加的地方,这很糟糕,因为机器人不需要读取任何内容中的任何消息。

机器人代码 here

如果机器人也未被邀请,则答案是 channel_not_foundnot_in_channel

我错过了什么?

机器人通常只能 post 向受邀频道发送消息是正确的。但是,有两个例外:

  1. Bot可以继承安装用户的权限。因此机器人可以 post 安装用户所属的每个私人频道(包括直接消息频道)。

  2. 斜杠命令的工作方式不同。如果用户从频道发出斜线命令,机器人可以回复该斜线命令。这适用于每个频道,不需要邀请机器人。这些回复是普通的 Slack 消息,因此可以包含所有类型的消息功能,包括。图片附件或图片块。

授予机器人完全访问私人频道的常见模式如下:

  • 用户使用斜杠命令启动机器人
  • Bot 检查它是否具有对当前频道的完全访问权限
  • 如果没有,它会要求用户邀请它加入该频道