问题描述
我正在创建一个 Slack 应用程序,它会在任何公共频道中侦听来自用户的一种消息(即以“bot”一词开头的消息),并通过操作进行响应。
我可以使用 Events API 管理所有这些,但每个请求的延迟慢得无法使用。如果我使用 RTM websocket API,响应将接近即时。
但是,RTM API 速率将连接限制为每分钟一个用户。一个拥有 120 个用户的应用需要 2 小时才能启动。
有没有一种方法可以为每个工作区创建一个连接?理想情况下,这会合并该团队发送的所有消息,稍后我会过滤掉无关的消息。
我尝试过的事情:
- 将机器人添加到工作区中的每个频道。这不太实用。
先谢谢你!
解决方法
这是创建 app_mention
event 来解决的场景。 app_mention
允许您的应用像工作区中的其他用户一样运行 - 当他们被提及时,用户可以选择邀请机器人加入频道。如果机器人被邀请加入,您的应用会收到消息并做出相应的响应。