寻找一种方法来返回团队通过 Slack API 发送的消息总数。浏览文档我还没有遇到过这样做的方法。很好奇是否有人找到了做类似事情的方法。
问问题
1659 次
2 回答
3
您可能必须遍历所有渠道、组和用户。对于给定的频道,search.messages
endint 包含您需要的信息。例如,使用 python Slacker 包,我们可以计算消息的数量@general
:
>>> import slacker
>>> token = "yourtoken"
>>> api = slacker.BaseAPI(token)
>>> api.get("search.messages", params={"query": "in:general"}).body["messages"]["total"]
19601
(我留给您遍历所有频道和组)
于 2016-04-07T10:11:13.083 回答
1
没有直接提供该信息的 API 方法,因此您需要通过迭代所有现有通道来计算该信息。
基本大纲:
- 获取所有频道的列表
conversations.list
- 使用 获取频道的所有消息
conversations.history
。可以直接用latest
和oldest
属性指定你感兴趣的时间段 - 将每个通道的计数相加以获得总数
请注意,由于 Slack 的安全架构,您将无法访问所有私人和直接消息传递渠道。要获得这些对话,您还需要从每个用户那里收集一个令牌,然后使用这些令牌来访问所有内容。
于 2018-11-05T14:36:23.880 回答