我尝试使用Slacks API运行其中一个演示,专门用于交互式消息。
我要执行以下操作:
我不明白的是,我如何知道用户何时回答了特定问题?
在数据库中说一个问题表,其中存储问题#1,#2和#3等。
当我收到用户的回复时,根据question_id,我将触发下一个问题。
我怎么确切知道交互式消息来自哪个问题?我有办法在有效载荷中获取question_id吗?
答案 0 :(得分:1)
确定用户回答了哪些交互式消息的标准方法是使用callback_id
。您可以为每个包含交互式消息(一组按钮,菜单等)的每个附件指定它,并将其包含在对应用程序的响应请求中。
documentation对callback_id
的评价如下:
提供的字符串将作为集合的唯一标识符 附件中的按钮。它将发送回您的消息 每个已调用操作的按钮操作URL。这是必填栏 当附件包含消息按钮时。这是识别的关键 您正在与之互动。
如果您有多个按钮,则每个按钮都有其自己的名称,您可以使用它们来标识单击了哪个按钮(与callback_id
组合使用)。
如果需要存储更多数据,可以使用this hack。这样,您可以将question_id
直接存储在按钮的value
属性中(例如,作为JSON字符串)。