簡體   English   中英

如何使用對話框流程中的實現來存儲用戶輸入

[英]How to store user inputs using fulfillments in dialogflow

我正在嘗試為Google Home開發一款能夠吸引用戶的體重並將其反饋給他們的應用。 以下是負責執行此操作的意圖的index.js代碼,

const functions = require('firebase-functions');
const {dialogflow} = require('actions-on-google');

const app = dialogflow({
    debug: true,
});

app.intent('vitals-weight', (conv) => {
    const weight = conv.parameters['weight'];
    const weight_name = conv.parameters['weight-name'];
    conv.ask('I have recorded that your weight is, ${weight} and ${weight-name}.');

exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);

“ weight”和“ weight-name”是意圖中分別存儲重量和重量單位的實體。 嘗試處理用戶數據時,這是正確的方法嗎?

您的代碼中目前存在多個錯誤。

首先,我假設是粘貼錯誤。 該函數沒有右括號或括號。 既然您說函數正在被調用,所以我假設這實際上在您的代碼中。

您對conv.ask()調用存在一些邏輯錯誤。

第一個是您使用單引號(或撇號),但嘗試在其中進行表達式求值( ${}部分)。 僅使用反引號引起來的表達式評估。

此外,您還有一個表達式${weight-name} ,我認為您正在嘗試使用它來訪問weight-name參數(帶連字符)。 但是,您已經將該參數的值分配給了一個名為weight_name的變量(帶有下划線)。 您也這樣做也是一件好事,因為${weight-name}被評估為“重量減去名稱”,而不是其中帶有連字符的變量,這是不允許的。 您可能需要在那兒${weight_name}

所以那條線看起來應該更像

conv.ask(`I have recorded that your weight is, ${weight} and ${weight_name}.`);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM