问题标签 [slack-block-kit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1929 浏览

json - 如何正确使用“可扩展”类型?

问题

如何正确使用“可扩展”类型?

描述

我有一个批处理,每小时运行一次,并将一些统计信息发送到我们的 slack。每个JSON输出都可能非常大,我正在寻找一种使其可折叠/可扩展的方法。

我正在玩 slack 的BlockKit Builder,希望能有类似的东西,我发现(在查看消息错误时)有一种名为expandable.

但是,没有关于它的 (?) 文档。我唯一知道的是。

  1. 它需要一个blocks属性
  2. 应该是一个blocks属性的孩子

我试过的

我继续使用块构建器(演示)并且能够让它不会引发任何错误,但没有视觉输出......

我想要什么:

我想要一个可折叠/可扩展的工作,并了解不同的属性是什么以及它们是如何工作的。

0 投票
1 回答
170 浏览

slack - 有没有办法阻止我的 Slack 应用程序在频道中使用?

有没有办法阻止我的 Slack 应用程序在频道中使用?

我只希望当前用户能够直接与应用程序交互,而不是在任何渠道中显示。

使用 App Studio 在 MS Teams 中设置应用程序时,有一个选项可让您将应用程序限制为“个人”,我正在 Slack 中寻找类似的东西。

0 投票
1 回答
89 浏览

slack-api - 如何让标准块套件交互组件看起来像模态输入

我正在构建一个有几个选择输入的模式。当用户单击模式提交按钮时,输入的值会发布到我的服务器。但是,对于其中一个选择,我需要它在用户与其交互时立即发布到服务器 - 据我了解,输入不会这样做。

因此,我为其中一个静态选择元素使用了“Actions”布局块。但是,选择看起来与等效输入静态选择完全不同。它更小,不会填满视频的整个宽度。有没有办法做到这一点?

0 投票
1 回答
559 浏览

slack - 你能以非交互方式使用松弛按钮吗?

在使用 Slack 的块工具包构建器时,我创建了一条消息,该消息将发送通知以及供用户单击的链接。我喜欢默认按钮的外观,但每当我单击它时都会收到一条警告,说我的应用程序未配置交互性。

在此处输入图像描述

该链接确实有效,但警告图标令人不安。有没有办法在不期望交互的情况下使用这些按钮?另一种方法似乎只是使用降价链接,但我认为它看起来不太好。

我的块:

如果我直接从块工具包构建器发送此块,则没有警告消息。我猜这是因为它是作为我的用户而不是应用程序发送的。

0 投票
0 回答
76 浏览

google-apps-script - Google Sheets to Slack 无法更新同一块

我试图弄清楚当用户与按钮交互时如何在 slack 中更新同一个块。目前,在用户与按钮交互后,我可以在 Slack 中创建新的阻止消息,但我想更新原始消息。

这是我发送初始块的函数:

这是我对用户交互的回应,从上面的代码继续:

基本上我正在尝试按照 slack 的指示使用“replace_original”来更新整个块,但看起来我做得不对。任何帮助,将不胜感激。

非常感谢。

0 投票
1 回答
53 浏览

slack-api - 松弛块?仅限于简单应用的设计?

我的应用程序将块发送到 slack,需要用户对某些事情做出决定。让我们简化一下,说它是“是”或“否”按钮单击。问题是——这个决定应该起作用的对象是app_domain-> element_type->的组合element_id——这三个字段是必须确定要处理哪个对象的。

也许我读错了文档,但似乎 Slack 非常有限,并且绝对没有地方包含一个自定义结构,该结构将与应用程序的乒乓球 -> slack 和 slack -> 应用程序交互的每条消息一起出现. 我仅限于block_id并且action_id几乎没有其他东西可以放置自定义上下文保持数据。我没有得到这个粗略的限制。除了放入字符串之外,我真的别无选择"xxxxxx|xxxxxxxx|xxxxxx"block_id以便以后可以在我的应用程序中解码这三个 ID,以了解当用户单击交互式按钮时要处理哪些对象?

必须有更聪明的方法。任何指针?

0 投票
1 回答
318 浏览

google-apps-script - 无法从 Google App Scripts 打开 Slack 模式

我正在尝试通过 GAS 的按钮单击打开一个松弛模式。目前我正在发送具有此功能的交互式按钮:

但是,当我与按钮交互时,什么都没有发生。我目前的 Get/Post 方法如下:

我尝试了各种方法,可以在我的有效负载和选项中组合 trigger_id 和令牌,但我找不到可行的方法。任何帮助将不胜感激,谢谢。

0 投票
1 回答
165 浏览

slack - 如何让我的 slackbot 在线程中回复,而不是在 Slack 中回复整个频道

我正在对运行良好的 ServiceNow 集成进行松弛。我正在尝试回复线程而不是向频道发布消息。

目前我使用https://slack.com/api/chat.postMessage的是回复频道而不是线程。我尝试查看文档,但找不到回复线程的 api。

谁能帮我正确的api来回复一个线程而不是一个频道

0 投票
2 回答
1106 浏览

slack-api - Slack API - 如何发送多个图像,以便它们显示在画廊中

当我使用这样的块通过 api 发送多个图像时:

Slack 将它们显示为单独的块,并且不会将它们组合到图库中: slack screenshot - API

当我在一条消息中使用 Slack 应用程序上传它们时 - 它将它们组合成一个画廊: slack screenshot - with gallery

我在 file.upload 之后尝试了块、附件、第三方 url、永久链接 - 结果是一样的,Slack 没有将它们合并到图库中。

所以,问题是 - 我如何让 Slack 在画廊中显示几张图片?

0 投票
0 回答
84 浏览

slack - 松弛块用户-选择由组用户或静态ID的下拉限制选项

我在 block-kit 中使用 slack users-select并希望将我的用户列表限制在下拉选项中(当前显示工作区中的所有用户),并使用给定的 id 或当前组中的特定用户:

或者

(仅限于现有组中的用户)

然后仅向这些用户显示选定的菜单,目前我的代码如下所示:

我可以static-user-select自己使用和添加名称,但这不会让我拥有“用户状态”(“在线”/“离线”),有时用户可能会动态增加/减少,找不到任何 k/v 或更多信息在文档上,我的方法应该是什么?谢谢!