首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何作为实时消息传送机器人用户加入Slack频道?

如何作为实时消息传送机器人用户加入Slack频道?
EN

Stack Overflow用户
提问于 2015-03-28 03:52:34
回答 3查看 11.9K关注 0票数 31

channels.join是面向机器人用户的not allowed。我想让我的RTM-using机器人监听bot集成页面中列出的频道以外的频道。

我看不到在机器人集成页面中更改通道的方法:

这仅仅是机器人的局限性,还是我在这里遗漏了一些基本的东西?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-30 16:13:57

我也有同样的问题,我不确定为什么我的机器人只监听某些频道。

你的机器人需要被一个用户邀请到每个频道。在Slack应用程序中的所需通道中运行此命令以执行此操作

代码语言:javascript
复制
/invite @<your_bot_name>

一旦进入通道,他们就应该能够监听事件。

票数 52
EN

Stack Overflow用户

发布于 2017-05-22 15:43:27

到2017年5月为止,这仍然是机器人的一个限制,因为它引入了一个bug --参见https://github.com/slackapi/node-slack-sdk/issues/26上的paulhammod的回答。正如@MattGifford指出的那样,添加机器人的正确方法是使用斜杠命令/invite @<bot.user> <channel_name>

然而,@nafg引入了一个有趣的变通方法。如果您为您的帐户生成了个人API_TOKEN,那么您可以使用它来邀请机器人。例如,在python中,可以运行:

import slackclient sc = slackclient.SlackClient(<PERSONAL_API_TOKEN>) sc.api_call('channels.invite', channel=<channel_id>, user=<user_id>)

这将邀请机器人访问频道。如果你想自动邀请你的机器人进入新的频道,你可以在https://api.slack.com/rtm的API中查看事件监听器。

只要您允许您的API_TOKEN用于此目的,它似乎可以按需要工作,尽管不太方便。

票数 4
EN

Stack Overflow用户

发布于 2017-03-15 02:13:07

我还没有实际尝试过,但我希望您可以首先代表实际用户(例如,您自己)调用channels.join,然后以该用户的身份调用channels.invite以将机器人添加到该通道中。我希望这是允许的,然后它将允许机器人与该通道进行交互。通过这种方式,您可以自动执行所有操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29309114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档