2017-06-03 65 views
1

所以我想提醒chatbot和我所做的代碼不工作,以及我的預期。如何提醒用戶當具體日期來沃森談話Service.or或JSON

我做什麼,例如,如果我是一整天后,發送提醒,反應條件將是這樣的:

"conditions": now().reformatDateTime().toInt()+1 

然後是輸出文本價值如常。

這有效嗎?任何類型的建議都會受到歡迎。謝謝!

回答

1

你用戶需要在你做某事之前給你打電話。 激活你的系統權限:@sys-date獲得天數。

而且,例如,用戶會問:

  • 我今天需要做什麼?

保存一天一個上下文變量,如:

{ 
    "context": { 
    "verifiedDate": <? @sys-date ?>; 
    }, 
    "output": { 
    "text": { 
     "values": [ 
     "Please wait and I'll verified your request." 
     ], 
     "selection_policy": "sequential" 
    } 
    } 
} 

而且,只有當用戶問,你會做你的應用程序裏記住用戶的東西。

像:

例(app.js):

function updateMessage(input, data, req, res) { 
    if (data.context.verifiedDate){ 
    searchRequest(data, req, res); 
    } else if (data.output && data.output.text) { 
     return res.json(data); 
    } 
    return data; 
} 

您可以使用會話流內發送一些數據。

function searchRequest(data, req, res){ 
    // something to do and return value 
    var sendRequest = "Thanks for wait, the request is" + valueRequest; 
    data.output.text[0] = sendRequest; 
    return data; 
} 

這個例子是的NodeJS,數據必須從沃森會話的所有收益,如entitiesintentscontext variablesnode flows等的邏輯是一樣的,你需要訪問的數據從你的談話回來,之後,訪問context variables在您的應用中執行某些操作。

加入天:

Date.prototype.addDays = function(days) { 
    var dat = new Date(this.valueOf()); 
    dat.setDate(dat.getDate() + days); 
    return dat; 
} 

var dat = new Date(); 

alert(dat.addDays(5)) 

你可以用天參數添加天或一個數字,就像我的例子。

+0

我真的很感激你的回覆,但是我真正想要的是,讓我說我正在做一個食物到期提醒chatbot,所以如果用戶只是寫下「牛奶」,chatbot會在14天后提醒你,這是牛奶的平均到期日。所以我的問題歸結爲這一點。 1,@ sys-date被認爲是在聊天機器人2中進行提醒的先決條件。是否有可能記錄每個產品的預期到期日期,如牛奶 - 14天和7天的JSON。我不確定是否清楚:'(感謝 –

+0

在這種情況下,日期被保存了嗎?有一些數據庫嗎?或者在這種情況下對於一切都是靜態的?像:牛奶總是有 - 14天,奶酪-7天? –

+0

它們對於一切都是靜態的,我現在面臨的唯一問題是我應該如何訪問系統日期並開始計算,直到截止日期結束爲止;'( –