Slack Modal 视图:在最终提交之前将堆栈扩展到 3 个以上

问题描述

我正在开发一个有超过 3 个模态的 slack 机器人,直到我将其提交处理..根据 slack 文档,视图堆栈限制为 3,所以我虽然我云只是关闭了最旧的一个并免费一个新的插槽......不确定这是否有意义(我实际上试图将整个体验限制在这 3 种模式)......在这种情况下是这样的:

  1. 斜线命令 --> views.open(向用户打开模态 step1 并发送空响应)。

  2. 用户提交 step1 模态,我用下一个模态(step2)触发推送响应操作

  3. idem ... 显示模态 step3 并查看值(我使用 Object Store -Mulesoft 存储它们)..

  4. 此提交对来自 step1 和 step2 模式的数据进行一些处理,并通过 IM 向用户响应结果

在第 2 步中,我尝试触发 POST 到 views.push,但提交的触发器 ID 无效,必须是根据 slack 的阻止操作的触发器 ID。

在第 1 步和第 2 步模式中,我将单词 SUBMIT 替换为 NEXT,并且仅在最后一个它说 SUBMIT。

有一件事......我知道通过不关闭视图我可以关闭并有点“返回”......如果我扩展堆栈,我会失去它......

我尝试在 views.open 上触发另一个 POST 并使用空响应,而该 POST 的响应很好(确定:true)...在 UI...我收到错误我们有连接时遇到问题。再试一次?”在“step1”模式中..

有人对如何从视图堆栈底部关闭模式有任何想法,以便我可以添加一个新模式等等?我知道用例可能不是最好的(slack 应用程序应该使精简更容易,而不是一个一个地形成..)但只是想知道它是否可以完成)。

谢谢!

解决方法

嗯......自从我发布这个以来我已经走了很长一段路......我最终使用了JS但是如果你处于同样的情况我想分享的一件事是,只要你回复SUBMIT同步确认(在 js 中更容易)模态将关闭,然后您可以发送/打开另一个,依此类推...