如何组合菜单的斜杠命令、按钮和对话框?
How to combine slash commands, buttons and dialogs for a menu?
我的 Slack 应用程序以 slash command 启动,然后向用户发布一个临时菜单消息。该菜单包含一些信息和三个消息按钮。
示例:
- 第一个按钮允许用户关闭菜单
- 第二个按钮允许用户开始操作
- 第三个按钮允许用户打开 dialog 进行更改
选项。
用户提交对话框后,我想更新菜单消息以反映在对话框中所做的更改。
但是,在用户提交对话框后,我无法再像以前那样通过响应 Slack 响应来更新消息菜单。
如何使用更改更新菜单消息?
为了保持与初始斜杠命令的连接,需要在打开对话框之前存储最后一个交互操作的 response_url
。
在此示例中,它将在按下 "Options" 按钮后启动的交互操作请求中。 response_url
允许人们无缝地继续使用初始斜杠命令开始的对话。
存储 response_url
的最简单方法是将其放入 state
property of the dialog, which will automatically be echoed back to the app with the dialog submission request。
需要注意不要将交互操作中的 response_url
与对话框中的 response_url
混淆。
此外,对话框取消的情况会自动处理,因为在这种情况下用户可以继续使用初始菜单消息。
我的 Slack 应用程序以 slash command 启动,然后向用户发布一个临时菜单消息。该菜单包含一些信息和三个消息按钮。
示例:
- 第一个按钮允许用户关闭菜单
- 第二个按钮允许用户开始操作
- 第三个按钮允许用户打开 dialog 进行更改 选项。
用户提交对话框后,我想更新菜单消息以反映在对话框中所做的更改。
但是,在用户提交对话框后,我无法再像以前那样通过响应 Slack 响应来更新消息菜单。
如何使用更改更新菜单消息?
为了保持与初始斜杠命令的连接,需要在打开对话框之前存储最后一个交互操作的 response_url
。
在此示例中,它将在按下 "Options" 按钮后启动的交互操作请求中。 response_url
允许人们无缝地继续使用初始斜杠命令开始的对话。
存储 response_url
的最简单方法是将其放入 state
property of the dialog, which will automatically be echoed back to the app with the dialog submission request。
需要注意不要将交互操作中的 response_url
与对话框中的 response_url
混淆。
此外,对话框取消的情况会自动处理,因为在这种情况下用户可以继续使用初始菜单消息。