单个 callback_id 的多个附件:松弛交互组件
Multiple attachment with single callback_id: slack interactive component
是否可以有多个菜单附件并允许用户在发回整理后的响应之前select每个菜单?
return Promise.resolve({
text: `Rate each game`,
attachments: [
...games.map(game => ({
color: "#5A352D",
title: game,
callback_id: "game:done",
actions: [
{
name: "done",
text: "Select a score",
type: "select",
value: "game:done",
options: [
{ text: 1, value: 1 },
{ text: 2, value: 2 }
]
}
]
}))
]
});
This images shows how it renders
但是,我只需要在用户完成每场比赛的得分后调用回调。
或许,我可以为此提供一个额外的按钮,但我该如何处理这些菜单操作的回调
选择一个菜单选项将始终向您的应用程序发出请求。但是您可以替换以前的消息并每次都重新创建菜单列表,并向用户显示剩余的菜单,直到所有菜单都被选中。从技术上讲,每次都是一条新消息,但是通过替换旧消息,用户不会注意到。
是否可以有多个菜单附件并允许用户在发回整理后的响应之前select每个菜单?
return Promise.resolve({
text: `Rate each game`,
attachments: [
...games.map(game => ({
color: "#5A352D",
title: game,
callback_id: "game:done",
actions: [
{
name: "done",
text: "Select a score",
type: "select",
value: "game:done",
options: [
{ text: 1, value: 1 },
{ text: 2, value: 2 }
]
}
]
}))
]
});
This images shows how it renders 但是,我只需要在用户完成每场比赛的得分后调用回调。
或许,我可以为此提供一个额外的按钮,但我该如何处理这些菜单操作的回调
选择一个菜单选项将始终向您的应用程序发出请求。但是您可以替换以前的消息并每次都重新创建菜单列表,并向用户显示剩余的菜单,直到所有菜单都被选中。从技术上讲,每次都是一条新消息,但是通过替换旧消息,用户不会注意到。