Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejs dialogflow库返回类型错误:dialogflow.SessionClient不是构造函数_Javascript_Node.js_Google Cloud Platform_Dialogflow Es - Fatal编程技术网

Javascript nodejs dialogflow库返回类型错误:dialogflow.SessionClient不是构造函数

Javascript nodejs dialogflow库返回类型错误:dialogflow.SessionClient不是构造函数,javascript,node.js,google-cloud-platform,dialogflow-es,Javascript,Node.js,Google Cloud Platform,Dialogflow Es,我试图创建一个脚本,从用户那里获取输入,通过Dialogflow运行它,然后将它返回给用户。我从中获取输入的平台仅支持Node.js。我通过glitch.com托管这个机器人,但我不认为这是导致问题的原因。我想在向服务器提交错误报告之前检查一下这里 var bot='我用来接受输入和发送输出的平台' on(“消息”,异步消息=>{ console.log(message.content);//将聊天记录到控制台进行调试/测试 如果(message.content.indexOf(config.

我试图创建一个脚本,从用户那里获取输入,通过Dialogflow运行它,然后将它返回给用户。我从中获取输入的平台仅支持Node.js。我通过glitch.com托管这个机器人,但我不认为这是导致问题的原因。我想在向服务器提交错误报告之前检查一下这里

var bot='我用来接受输入和发送输出的平台'
on(“消息”,异步消息=>{
console.log(message.content);//将聊天记录到控制台进行调试/测试
如果(message.content.indexOf(config.prefix)==0){//消息以您的前缀开头
让msg=message.content.slice(config.prefix.length);//消息上前缀的片段
设args=msg.split(“”;//按空格将消息分成若干部分
让cmd=args[0].toLowerCase();//将第一个单词设置为小写的命令,以防万一
args.shift();//从args中删除第一个单词
//您可以在Dialogflow agent设置中找到项目ID
const projectId=process.env.PROJECT\u ID//https://dialogflow.com/docs/agents#settings
const sessionId='quickstart session id';
var query=msg;
常量语言代码='en US';
//实例化DialogFlow客户端。
const dialogflow=require('dialogflow');
const sessionClient=new dialogflow.sessionClient();
//定义会话路径
const sessionPath=sessionClient.sessionPath(projectId,sessionId);
//文本查询请求。
常量请求={
会话:会话路径,
查询输入:{
正文:{
文本:查询,
languageCode:languageCode,
},
},
};
//发送请求并记录结果
会话客户
.Detectinent(请求)
。然后(回答=>{
console.log(“检测到的意图”);
常量结果=响应[0]。查询结果;
log(`Query:${result.queryText}`);
log(`Response:${result.fulfillmentText}`);
如果(结果、意图){
log(`Intent:${result.Intent.displayName}`);
}否则{
log(`No intent matched.`);
}
})
.catch(错误=>{
console.error('error:',err);
});
}
回来

});我想出来了。在多次刷新之后,我决定查看npm文档。原来有个白痴把最早的版本列为4.0.3,最新的版本列为0.7.0。我需要明确地告诉它使用版本0.7.0,这样它才能工作。谢天谢地

将代码放入try-and-catch块中。在我的例子中,通过这样做,这个错误被删除。

我的工作是重新安装dialogflow软件包

卸载对话框流

npm安装对话框流--保存