获取用户所属频道列表

时间:2017-12-11 21:57:12

标签: slack slack-api

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

有更好的方法吗?仅获取给定用户所属的频道?

2 个答案:

答案 0 :(得分:6)

我认为users.conversations是您正在寻找的。如果没有额外的参数,它将返回主叫用户所属的所有公共频道。

答案 1 :(得分:2)

不,没有更短的方式来获取此信息。

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

使用conversations,您必须为每个频道拨打一个额外的电话,以获取用户所属的所有频道。但是,它可以同时用于所有类型的频道(例如公共频道,私人频道)。

基本方法是:

  1. conversations.list

  2. 获取所有会话的列表
  3. 获取每个会话形式的成员列表conversations.members

  4. 因此,如果您希望Slack应用程序能够适应未来并与大量用户合作,那么最好使用conversations方法完成任务。