如何使用 nodejs 在 Dialogflow 中处理 webhook 实现
How to handle webhook fulfillment in Dialogflow using nodejs
我正在寻找一些关于如何设计代码来处理 Dialogflow 发送到我的服务器的请求的实现的建议。 Dialogflow 只允许设置一个 webhook 来处理所有意图。假设我有 5 个不同的意图;他们都将在我的服务器上调用相同的 webhook。现在,我如何根据意图优雅地管理服务器端的不同工作流?
我理想地用来区分的参数包含在 req.body.queryResult.intent.displayName;
中并指示当前意图的名称。现在我有两个想法,使用将意图作为路径的一部分的快速重定向方法,或者创建一个以意图为关键的处理程序字典。
你有什么建议吗?
dialogflow-fulfillment 库虽然已弃用,但使用了后一种方法 - 创建一个从 Intent 名称到 Handler 函数的映射,并将该映射传递给 Dispatcher。这是一种简单、直接且快速的方法。
multivocal 库采用了类似但更广泛的方法,让您可以根据分配的 Intent 名称或 Action 值注册处理程序,并根据 Intent、Action 对响应进行单独配置,或在处理程序中设置的另一个值。
重定向到一个新的、基于路径的方法似乎没有给你任何东西。
我正在寻找一些关于如何设计代码来处理 Dialogflow 发送到我的服务器的请求的实现的建议。 Dialogflow 只允许设置一个 webhook 来处理所有意图。假设我有 5 个不同的意图;他们都将在我的服务器上调用相同的 webhook。现在,我如何根据意图优雅地管理服务器端的不同工作流?
我理想地用来区分的参数包含在 req.body.queryResult.intent.displayName;
中并指示当前意图的名称。现在我有两个想法,使用将意图作为路径的一部分的快速重定向方法,或者创建一个以意图为关键的处理程序字典。
你有什么建议吗?
dialogflow-fulfillment 库虽然已弃用,但使用了后一种方法 - 创建一个从 Intent 名称到 Handler 函数的映射,并将该映射传递给 Dispatcher。这是一种简单、直接且快速的方法。
multivocal 库采用了类似但更广泛的方法,让您可以根据分配的 Intent 名称或 Action 值注册处理程序,并根据 Intent、Action 对响应进行单独配置,或在处理程序中设置的另一个值。
重定向到一个新的、基于路径的方法似乎没有给你任何东西。