在 Dialogflow 中,如何使用我的 webhook 将参数设置为自定义值(不想问用户)

In Dialogflow, how do I set parameter to a custom value with my webhook (Dont want to ask the user)

如果用户已经以完全不同的意图给我他的名字,我将其存储在我的数据库中。 但是我需要在另一个意图中再次请求它,其中启用了 webhook 插槽填充并且 given_name 是必需的值。

但是如果他已经给我了,那就不用问了,所以我想抓取DB中存储的名字,把这个值填入参数(given_name),所以我不用问

我该怎么做?我可以使用我的 webhook 直接更改参数值吗?

不使用参数值就可以叫你DB吗? 如果你的数据库 returns 一个名字,你就知道你的用户之前在之前的意图中提到过一个名字。从那里你可以只使用来自你的数据库的响应。如果您的数据库没有发回姓名,那么您就会知道何时向您的用户询问他们的姓名。

一个简单的例子是:

async function handleUsername(agent) {

  // Check if the user has mentioned a name before in your DB.
  const username = await callDatabase();

  if (!userName) {
    // Ask the user for their name.
  }

  // Continue the conversation.

}

注意:由于您提到您正在检查用户是否在多个意图中提到了他们的名字,如果可能的话,最好在您的 webhook 中 re-use handleUsername() 函数。