使用Slack API,如何同时向所有用户发送消息?

问题描述 投票:2回答:2

在Slack上,我知道使用chat.postMessage允许我单独向每个用户发送消息,但是我如何直接向整个团队(400名成员)发送消息?

python slack slack-api
2个回答
2
投票

您好,因为您需要一个包含其中所有400个频道的频道,因此目前您无法发送给400个人用户。要将消息发送到通道,只需为postMessage方法添加通道参数即可。

检查一下:: https://api.slack.com/methods/chat.postMessage


2
投票

没有chat.postMessage的“批量”变体。因此,您基本上需要构建自己的批量邮件发件人,您可以通过迭代用户列表并向每个用户发送一条消息来轻松完成。

您可以使用users.list获取所有用户的列表。然后,您有两个发送直接消息的选项:

  1. Slackbot频道:使用每个用户的ID作为频道向qzxswpoi发送每条消息。
  2. 应用渠道:为每个用户获取带有chat.postMessage的IM渠道ID,然后将其用作im.open的渠道。这只有在你有bot用户并从bot用户发送消息时才有效。

但请记住,每秒的请求限制为1条消息。

对于Slack和您的应用之间的许多请求,还有3秒的请求超时。 (例如,对斜杠命令的直接响应)。因此,如果您的机器人需要发送许多消息,您希望使用允许您异步发送它们的方法。

这个问题的一个解决方案对我来说非常有效,就是为我的机器人发送的所有Slack消息使用消息队列。

© www.soinside.com 2019 - 2024. All rights reserved.