Node.js 在wit ai天气示例中更新时间和日期
我试图通过在组合中添加wit/datetime来扩展wit ai天气示例 例如,用户可能会键入“柏林1小时内有多冷?”天气机器人将在1小时内返回柏林的天气数据 到目前为止,这是可行的,但当我试图设置Node.js 在wit ai天气示例中更新时间和日期,node.js,wit-ai,Node.js,Wit Ai,我试图通过在组合中添加wit/datetime来扩展wit ai天气示例 例如,用户可能会键入“柏林1小时内有多冷?”天气机器人将在1小时内返回柏林的天气数据 到目前为止,这是可行的,但当我试图设置missingDate以询问日期是否丢失时,它的行为有点滑稽 对话将是: -柏林会有多冷? -什么时候? -1小时后。 相反,在1小时的步骤之后,我再次被询问上下文中的位置,但是再次被触发 我的操作名为getForecast({context,entities}),我将其定义如下: actions
missingDate
以询问日期是否丢失时,它的行为有点滑稽
对话将是:
-柏林会有多冷?
-什么时候?
-1小时后。
相反,在1小时的步骤之后,我再次被询问上下文中的位置,但是再次被触发
我的操作名为getForecast({context,entities})
,我将其定义如下:
actions:
[...],
getForecast({ context, entities }) {
console.log(`The current context is: ${JSON.stringify(context)}`);
console.log(`Wit extracted ${JSON.stringify(entities)}`);
// extract entity
var location = firstEntityValue(entities, "location");
var date = firstEntityValue(entities, "datetime");
// if the entity exists, do a remote weather call.
if (date) {
context.date = date;
delete context.missingDate;
} else {
context.missingDate = true;
delete context.date;
delete context.forecast;
}
if (location) {
context.forecast = '38 degrees';
context.location = location;
delete context.missingLocation;
} else {
context.missingLocation = true;
delete context.forecast;
}
// return the context object
return Promise.resolve(context);
}