如何确定通过交互式消息提示用户的问题?

时间:2018-10-24 22:49:33

标签: slack-api

我尝试使用Slacks API运行其中一个演示,专门用于交互式消息。

我要执行以下操作:

  1. 询问用户问题1
  2. 询问用户问题2
  3. 询问用户问题3

我不明白的是,我如何知道用户何时回答了特定问题?

在数据库中说一个问题表,其中存储问题#1,#2和#3等。

当我收到用户的回复时,根据question_id,我将触发下一个问题。

我怎么确切知道交互式消息来自哪个问题?我有办法在有效载荷中获取question_id吗?

1 个答案:

答案 0 :(得分:1)

确定用户回答了哪些交互式消息的标准方法是使用callback_id。您可以为每个包含交互式消息(一组按钮,菜单等)的每个附件指定它,并将其包含在对应用程序的响应请求中。

documentationcallback_id的评价如下:

  

提供的字符串将作为集合的唯一标识符   附件中的按钮。它将发送回您的消息   每个已调用操作的按钮操作URL。这是必填栏   当附件包含消息按钮时。这是识别的关键   您正在与之互动。

如果您有多个按钮,则每个按钮都有其自己的名称,您可以使用它们来标识单击了哪个按钮(与callback_id组合使用)。

如果需要存储更多数据,可以使用this hack。这样,您可以将question_id直接存储在按钮的value属性中(例如,作为JSON字符串)。