编写一个松散的机器人,我希望能够获得我的机器人所属的所有通道的列表。一种方法是调用https://slack.com/api/channels.list
,获取所有通道的(可能很大)列表,然后搜索当前(机器人)用户所属的通道。这很好用,但看起来非常沉重。
有更好的方法吗?仅获取给定用户所属的频道?
答案 0 :(得分:6)
我认为users.conversations
是您正在寻找的。如果没有额外的参数,它将返回主叫用户所属的所有公共频道。
答案 1 :(得分:2)
不,没有更短的方式来获取此信息。
实际上,Slack建议使用新的conversations
方法执行此任务,因为所有其他方法中的members
属性,例如channels.list最近已更改为仅返回截断的用户列表。有关详细信息,请参阅here。
使用conversations
,您必须为每个频道拨打一个额外的电话,以获取用户所属的所有频道。但是,它可以同时用于所有类型的频道(例如公共频道,私人频道)。
基本方法是:
获取每个会话形式的成员列表conversations.members
。
因此,如果您希望Slack应用程序能够适应未来并与大量用户合作,那么最好使用conversations
方法完成任务。