【发布时间】:2015-11-09 15:50:56
【问题描述】:
寻找一种方法来返回团队通过 Slack API 发送的消息总数。浏览文档我还没有遇到过这样做的方法。很好奇是否有人找到了做类似事情的方法。
【问题讨论】:
寻找一种方法来返回团队通过 Slack API 发送的消息总数。浏览文档我还没有遇到过这样做的方法。很好奇是否有人找到了做类似事情的方法。
【问题讨论】:
您可能必须遍历所有渠道、组和用户。对于给定的频道,search.messages endoint 包含您需要的信息。比如使用python Slacker包,我们可以统计@general中的消息数量:
>>> import slacker
>>> token = "yourtoken"
>>> api = slacker.BaseAPI(token)
>>> api.get("search.messages", params={"query": "in:general"}).body["messages"]["total"]
19601
(我留给你遍历所有频道和组)
【讨论】:
count 是“每页要返回的项目数”,page 是“要返回的结果页数”。在您的问题中,您询问消息的数量,而不是所有消息的完整列表。在我的示例中可以看到,从真实的 Slack 通道获取,这两个参数不影响消息数量的获取方式。
没有直接提供该信息的 API 方法,因此您需要通过迭代所有现有通道来计算该信息。
基本大纲:
conversations.list获取所有频道列表
conversations.history。您可以使用latest 和oldest 属性直接指定您感兴趣的时间段请注意,由于 Slack 的安全架构,您将无法访问所有私人和直接消息传递渠道。要获得这些对话,您还需要从每个用户那里收集一个令牌,然后使用这些令牌访问所有内容。
【讨论】: