返回通过Slack API发送的消息总数

时间:2015-11-09 15:50:57

标签: slack-api slack

寻找一种方法来返回团队通过Slack API发送的消息总数。浏览文档我没有遇到过这样做的方法。很奇怪,如果有人找到了做类似事情的方法。

2 个答案:

答案 0 :(得分:2)

您可能需要遍历所有频道,群组和用户。对于给定的频道,search.messages端点包含您需要的信息。例如,使用python Slacker包,我们可以计算@general中的消息数:

>>> import slacker
>>> token = "yourtoken"
>>> api = slacker.BaseAPI(token)
>>> api.get("search.messages", params={"query": "in:general"}).body["messages"]["total"]
19601

(我留给你迭代所有频道和小组)

答案 1 :(得分:0)

没有API方法直接提供该信息,因此您需要通过迭代所有现有渠道来计算该信息。

基本概述:

  1. 通过conversations.list获取所有频道的列表
  2. 通过以下方式获取频道的所有消息 conversations.history。您可以通过latestoldest属性直接指定感兴趣的时间段
  3. 对每个通道的计数求和以得到总数

请注意,由于Slack的安全体系结构,您将无权访问所有专用和直接消息传递通道。为了也进行这些对话,您需要从每个用户那里收集一个令牌,然后使用这些令牌来访问所有内容。