单个 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 但是,我只需要在用户完成每场比赛的得分后调用回调。

或许,我可以为此提供一个额外的按钮,但我该如何处理这些菜单操作的回调

选择一个菜单选项将始终向您的应用程序发出请求。但是您可以替换以前的消息并每次都重新创建菜单列表,并向用户显示剩余的菜单,直到所有菜单都被选中。从技术上讲,每次都是一条新消息,但是通过替换旧消息,用户不会注意到。