听力和放大器需要哪些OAuth示波器使用Slack Events API回复Slack Bot?

时间:2016-08-21 18:18:15

标签: oauth slack-api slack

我正在尝试制作一个能够倾听所有公众的声音。私人频道和团队的即时消息,并会在看到某些触发词时进行回复。这将是一个“Slack App”,可以使用“Add to Slack”按钮安装到您的团队,并包含一个“Bot用户”。

我已经要求提供“bot”OAuth范围,并订阅了“message.channels,message.groups和message.im”团队活动(https://api.slack.com/apps/myAppId/event-subscriptions),但似乎没有收到事件POST发送新邮件时的事件API。

添加“频道:历史,群组:历史记录,即时消息:历史记录”范围使得机器人接收这些事件POST,但我相信仅添加机器人的用户,因此它不会观看添加用户的群组不是其他2个用户之间的成员或IM。这意味着行为会有所不同,具体取决于我的机器人安装了哪个用户。

有没有办法为整个团队安装app / bot?文档似乎表明“bot”范围应该具有接收事件的能力,但我没有看到这一点(我需要频道:历史范围等)。

  

bot - 当您的Slack应用程序包含机器人用户功能时请求此范围。与incoming-webhook和命令不同,bot范围允许您的机器人用户访问事件API中的Web API方法子集,RTM API和某些事件类型。

     

(来自https://api.slack.com/docs/oauth-scopes

机器人页面还声称机器人可以通过RTM API接收所有消息:

  

此websocket将向您发送邀请机器人用户访问的公共和私人频道中发生的所有消息和活动,以及通过直接消息发送给它的消息。机器人用户通过向rtm.start API方法发送经过身份验证的调用,使用RTM API打开此websocket。要了解有关连接RTM API的更多信息,请阅读此处的文档。   (来自https://api.slack.com/bot-users

事件API中是否可以采用相同的行为,而无需使用RTM API或添加上述其他范围?

1 个答案:

答案 0 :(得分:0)

我从您的评论中看出,您已了解bot范围(以及channels.message Events订阅)允许您的机器人从中存在的频道接收

您有两种选择 1)除了bot之外你还要求channel.write范围,你在所有渠道中邀请机器人(使用用户令牌,而不是机器人令牌) 2)您正在进行入职培训并找到一种方法让您的#34;冠军"(即安装了您的应用的用户)在相关频道中邀请您的机器人。

请记住,解决方案1)通常被视为非常具有侵入性,特别是在大多数人都没有听说过您的应用程序或决定安装它的大型团队中。但它适用于某些非常具体的用例。选项2)是推荐的路线,但很难:-)祝你好运!