我有一个slash slack命令,该命令将请求发送到AWS API网关。该命令有效,但是现在我需要使用Slack Slash命令将Slack到此API网关的代码段张贴。例如:
/mycommand
,然后单击' ' ->代码代码段 ->输入脚本内容(echo "Hello"
) -> Create Shippet
我在服务器代码中想要的是获取代码段内容 像echo "Hello"
我找不到在文档中实现这一目标的方法。
我看不到以您所描述的确切方式将其与斜杠命令相结合的方法,因为您可以执行斜杠命令或上传代码段,但不能同时执行两者一起行动。
请注意,代码片段是纯文本上传到Slack。
但是,如果您开放了一个更改操作的顺序,则是它的工作方式:
- 通过单击
+
,让用户上传他的代码段(或多个) - 用户问题斜杠命令
/mycommand
- 您的应用程序启动并向用户展示了一个下拉列表与他的所有代码片段
- 用户选择他的代码片段
- 无论您想做什么,您的应用程序都可以使用代码片段
这是您获得下拉列表的方式:
- 使用files.list with参数
user
=用户ID和types
=snippets
获取文件列表。 - 使用文件列表创建交互式的下拉列表菜单,键入简单。
一个警告:您的应用只会看到在应用程序(已安装应用程序的用户)也可以访问的频道中共享的文件。因此,它将例如在直接消息频道中不起作用。
另一个重要的提及:在使用您的应用程序中从Slack下载文件,您可以在文件列表中使用url_private
属性。但是,您需要在标题中提供访问令牌才能访问。有关详细信息,请参见此答案。
如果该方法对您不起作用,我看到的唯一替代方法是将用户重定向到外部网页以进行摘要上传。