使用slack slash命令发布代码段

时间:2017-09-16 15:16:20

标签: amazon-web-services aws-api-gateway slack slack-api

我有一个斜杠松弛命令,用于将请求发送到AWS API网关。 该命令有效但现在我需要使用slack slash命令将代码片段从slack发布到此API网关。 e.g:

/mycommand然后点击“+” - >代码段 - >输入脚本内容(echo "Hello") - >创建代码段

我在服务器代码中想要的是获取代码段内容  比如echo "Hello"

我无法在文档中找到实现此目的的方法。

1 个答案:

答案 0 :(得分:1)

我没有看到按照你所描述的方式将它与Slash命令结合使用的方法,因为你可以执行斜杠命令或上传代码片段,但不能同时执行这两个操作。

请注意,代码段是上传到Slack的纯文本文件。

但是,如果你愿意稍微改变一下动作的顺序,这就是它的工作原理:

  1. 让用户点击+
  2. 上传他的代码段(或多个)
  3. 用户发出斜杠命令/mycommand
  4. 您的应用程序启动并向用户显示包含所有内容的下拉列表 代码片段
  5. 用户选择他的代码段
  6. 您的应用程序会使用您想要执行的任何代码段
  7. 以下是获取下拉列表的方法:

    1. 使用files.list参数user =用户ID和types = snippets获取文件列表。
    2. 使用文件列表为交互式创建下拉列表 菜单,输入simple
    3. 一个警告:您的应用只会看到应用(已安装应用的用户)也可以访问的频道中共享的文件。所以它会例如不能在直接消息传递渠道中工作。

      另一个重要提及:要使用您的应用从Slack下载文件,您可以使用文件列表中的url_private属性。但是您需要在标头中提供访问令牌以获取访问权限。有关详细信息,请参阅this answer

      如果这种方法对您不起作用,我看到的唯一选择是将用户重定向到外部网页以进行代码段上传。