获取用户所属频道列表

Mat*_*and 4 slack-api slack

编写一个松散的机器人,我希望能够获得我的机器人所属的所有通道的列表.一种方法是调用https://slack.com/api/channels.list,获取所有通道的(可能很大的)列表,然后搜索当前(机器人)用户所属的通道.这很好用,但看起来非常沉重.

有没有更好的办法?只获得给定用户所属的频道?

小智 6

我认为users.conversations这就是你要找的东西.如果没有其他参数,它将返回主叫用户所属的所有公共频道.


Eri*_*ken 5

不,没有更短的方法可以获取此信息。

实际上,Slack 建议conversations对这个任务使用新方法,因为members所有其他方法中的属性,例如 channels.list 最近已更改为仅返回截断的用户列表。有关详细信息,请参见此处

随着conversations你必须让每个通道的额外调用来获取所有频道的用户中的一员。但是,它可以同时与所有类型的频道(例如公共频道、私人频道)一起使用。

基本方法是:

  1. 从以下位置获取所有对话的列表 conversations.list

  2. 获取每个对话表单的成员列表conversations.members

因此,如果您希望您的 Slack 应用程序面向未来并与大量用户合作,最好将这些conversations方法用于您的任务。

  • 我同意,但没有任何其他方式接缝。自然地,您希望它成为 [users.info](https://api.slack.com/methods/users.info) 的一部分,但事实并非如此。我想我会给 Slack 发一封邮件来要求这个功能。尤其是使用新的对话方法时,您需要调用太多次才能获取该信息。 (2认同)