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