【问题标题】:Serve file via Slack slash command通过 Slack 斜杠命令提供文件
【发布时间】:2021-12-05 16:50:27
【问题描述】:

当用户键入斜杠命令时,我想返回一个(可下载的)csv 文件,但我找不到直接的方法。

我测试过的一个选项是使用 webhook 和 Slack API,斜杠命令 POST 通过 Slack API 触发 file.upload,但在我看来,斜杠命令逻辑太过分了。它需要额外的应用程序设置(webhook),并且文件不会作为对斜杠命令的回答发送,而是由频道中的机器人作为“常规消息”发送,并且每个人都可以看到。

另一个选项是从斜杠命令返回一个链接按钮,重定向到可以提供 csv 文件的端点。问题是,当我单击该按钮时,它会打开一个浏览器,然后我可以下载该文件,但在 Slack 之外。

是否有可能避免这种重定向并让一切都在 Slack 中发生?我知道用 javascript 防止重定向真的很容易,但我不知道是否可以将 javascript 添加到 slack 按钮。

否则,是否可以在斜杠命令后直接返回文件而不使用按钮?

谢谢

【问题讨论】:

    标签: slack slack-api slack-commands


    【解决方案1】:

    您是否尝试在调用files.upload 时使用thread_ts 参数,以便将文件作为线程响应而不是频道中的单独消息上传?您可能仍然需要先使用 webhook 或 chat.postMessage 来发送初始斜杠命令响应,以便您可以使用有效的ts。否则,您也可以在触发斜杠命令后通过更改files.upload 中的channel 参数的值直接将文件发送给用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多