6

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

4

2 回答 2

3

您可能必须遍历所有渠道、组和用户。对于给定的频道,search.messagesendint 包含您需要的信息。例如,使用 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 方法,因此您需要通过迭代所有现有通道来计算该信息。

基本大纲:

  1. 获取所有频道的列表conversations.list
  2. 使用 获取频道的所有消息 conversations.history。可以直接用latestoldest属性指定你感兴趣的时间段
  3. 将每个通道的计数相加以获得总数

请注意,由于 Slack 的安全架构,您将无法访问所有私人和直接消息传递渠道。要获得这些对话,您还需要从每个用户那里收集一个令牌,然后使用这些令牌来访问所有内容。

于 2018-11-05T14:36:23.880 回答