Slack API - 用于检索斜杠命令的队列
Slack API - queue for retrieving slash commands
我的任务是在 Python 中构建一个 Slack 斜杠命令应用程序,它将响应传入的斜杠命令。但是,出于安全原因,我不允许为来自 Slack 的传入 webhook 打开防火墙。有没有一种方法可以检查发送的斜线命令队列?
例如,用户在特定频道中键入“/myslashapp”。我的应用程序需要做一些事情,比如每 30 秒调用一个端点并检查是否发送了“/myslashapp”命令。如果是,我的应用程序应该会在 AWS 中触发 Lambda 函数。
基于对 Slack API 文档的阅读,除了可能是 RTM API,我还没有找到任何方法来做到这一点,尽管它看起来有点矫枉过正并且仍然需要一个开放的套接字。
没有。 Slack API 没有内置支持,允许您事后从队列中提取请求,而不是在请求发生时从 Slack 接收它们。
RTM API 可能适合您,因为与 Slack 的连接是从您这边发起的。所以 - 如果你的防火墙允许它 - 也可以在内部网中工作。但是,您不能使用 RTM API 或任何其他有趣的交互式 Slack 功能(如按钮)执行斜杠命令。只有简单的消息和事件。
您可以实施自己的桥接解决方案并从中提取。但我认为拉动解决方案行不通,因为它会为您的应用程序造成大量延迟。用户希望立即响应他们的斜杠命令,而不是 30 秒或更长时间的延迟。
总而言之,我认为您只有两个有效选项:
在内部托管您的应用程序并使用 ngrok 等安全 VPN 向您的应用程序公开 public URL。
运行 您的应用程序在 Internet 上,并让它安全连接到您的 Intranet 以访问内部数据。 (类似于购物网站,它在 Internet 上有一个 public 应用程序,但也可以将订单传输到公司 Intranet 上的业务应用程序。)
我的任务是在 Python 中构建一个 Slack 斜杠命令应用程序,它将响应传入的斜杠命令。但是,出于安全原因,我不允许为来自 Slack 的传入 webhook 打开防火墙。有没有一种方法可以检查发送的斜线命令队列?
例如,用户在特定频道中键入“/myslashapp”。我的应用程序需要做一些事情,比如每 30 秒调用一个端点并检查是否发送了“/myslashapp”命令。如果是,我的应用程序应该会在 AWS 中触发 Lambda 函数。
基于对 Slack API 文档的阅读,除了可能是 RTM API,我还没有找到任何方法来做到这一点,尽管它看起来有点矫枉过正并且仍然需要一个开放的套接字。
没有。 Slack API 没有内置支持,允许您事后从队列中提取请求,而不是在请求发生时从 Slack 接收它们。
RTM API 可能适合您,因为与 Slack 的连接是从您这边发起的。所以 - 如果你的防火墙允许它 - 也可以在内部网中工作。但是,您不能使用 RTM API 或任何其他有趣的交互式 Slack 功能(如按钮)执行斜杠命令。只有简单的消息和事件。
您可以实施自己的桥接解决方案并从中提取。但我认为拉动解决方案行不通,因为它会为您的应用程序造成大量延迟。用户希望立即响应他们的斜杠命令,而不是 30 秒或更长时间的延迟。
总而言之,我认为您只有两个有效选项:
在内部托管您的应用程序并使用 ngrok 等安全 VPN 向您的应用程序公开 public URL。
运行 您的应用程序在 Internet 上,并让它安全连接到您的 Intranet 以访问内部数据。 (类似于购物网站,它在 Internet 上有一个 public 应用程序,但也可以将订单传输到公司 Intranet 上的业务应用程序。)