gpt4 book ai didi

python - 使用 Slack API 获取所有私有(private) channel 的列表

转载 作者:太空狗 更新时间:2023-10-29 20:58:12 27 4
gpt4 key购买 nike

我一直在尝试获取我的 Slack 团队中所有“组”的列表。然而,即使有管理员权限,groups.list 也只提供 token 所有者帐户所属的组。

我在研究中看到的最接近的解决方案是让机器人坐在 channel 中。机器人的成员资格允许它在 channel 上进行报告,但是尽管我们无法以编程方式列出它们,但随后存在将机器人进入每个私有(private) channel 的后勤问题。

我用来挖掘私有(private) channel 列表的代码:

import requests
import json

token = '...'

r = requests.post('https://slack.com/api/groups.list', data={'token': token, 'exclude_archived': 1})
if r.ok:
privatechannels = { c['id']: c['name'] for c in json.loads(r.text)['groups'] }
print(privatechannels)

最佳答案

如果您确实需要实时监控 Slack 工作区中的所有私有(private) channel (和 DM),还有另一种方法:

  • 确保您 Slack 上的每个用户都为您的应用提供 token 。这可以由每个用户为您的应用运行一次 OAuath 安装过程来完成。这将为每个用户创建新的 token ,您的应用可以收集这些 token 。
  • 遍历所有事件用户 token 以编译所有的列表与 conversations.list 的对话(公共(public) channel 、私有(private) channel 、私信等)
  • 遍历所有现有对话 - 使用对该对话有效的 token - 收集所有带有 conversations.history 的消息

关于python - 使用 Slack API 获取所有私有(private) channel 的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37690761/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com