使用Web API正确处理DM许多用户的方法

时间:2018-05-15 15:42:34

标签: slack-api

我正在创建一个Slack应用程序,在拥有数千名用户的工作区中,我想要DM这些(数百个)没有特定频道的子集。

我没有看到任何"批次" Web API中的方法,所以我想知道哪种方法是实现这一目标的最佳方法。我应该一个接一个地遍历收件人列表和DM吗?什么是限速影响?

提前感谢!

2 个答案:

答案 0 :(得分:3)

没有可用的批处理方法 - 您必须向每个用户发送DM。您可能会遇到chat.postMessage的速率限制,但根据文档显示它非常慷慨:https://api.slack.com/methods/chat.postMessage#rate_limiting

答案 1 :(得分:3)

根据您的使用情况,您有多种选择。

:一种。向许多用户发送相同的消息

如果您要向所有用户发送相同的消息(如公告),最简单的方法是将该消息发送到公共频道并使用<!everyone>开始发送消息。

或者,您可以使用<!subteam>向用户组发送相同的消息(仅限付费等级Slack)。

或确保所有用户都在同一频道,然后使用“”来解决该频道中的所有用户。

<强> B中。向多个用户发送单个邮件

确实没有用于向多个用户发送消息的“批处理”API方法,因此您必须创建自己的批处理逻辑。速率限制是每个工作区每秒1条消息(请参阅here以供参考)。

根据您要确保批次可以运行较长时间而不会遇到任何超时的用户数量,例如通过使用队列存储消息和工作进程逐个发送它们。