我继承了一个Microsoft Bot Framework v3项目。我希望在调试器中本地运行它,并使用bot模拟器进行交互。
这对于v4项目来说很容易,只要在模拟器中打开bot文件,它就会读取连接到本地版本和云版本所需的配置。
也可以使用模拟器
创造
一个机器人文件,所以我做了,这让我可以连接到机器人。但是,这个bot使用QnA服务,当我在本地运行它并用模拟器连接到它时,它会以
请设置QnAKnowledgebaseId、QnAAuthKey和QnAEndpointHostName(如果
适用)应用内设置。学习如何在
https://aka.ms/qnaabssetup
.
在web.config中定义了应用内设置,而且它们肯定是在云中的botdata表中定义的,看来我的bot文件可能不对。
有人能提供手工制作机器人文件的指导吗?
这是当前bot文件中的内容
{
"name": "pai46",
"description": "",
"services": [
{
"type": "endpoint",
"appId": "da3...229",
"appPassword": "a password cribbed from the settings on Azure",
"endpoint": "http://localhost:3984/api/messages",
"id": "another guid",
"name": "development"
}
],
"padlock": "",
"version": "2.0",
"overrides": null,
"path": "D:\\pai46-src\\pai46.bot"
}
这看起来像是对v3qnastarter项目的重命名,您可以在Azure上创建一个qnabot并下载代码,原因就是这样。我决定在摆弄别人的代码之前,以最简单的形式解决这个问题。这里有一些
web.config
.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!-- update these with your Microsoft App Id and your Microsoft App Password-->
<add key="MicrosoftAppId" value="da3...229" />
<add key="MicrosoftAppPassword" value="same password as bot file" />
<add key="AzureWebJobsStorage" value="DefaultEndpointsProtocol=https;AccountName=pai46a3ba;AccountKey=base64string;"/>
<add key="QnAAuthKey" value="00e...fab"/>
<add key="QnAEndpointHostName" value="https://a-working-qna-service.azurewebsites.net/qnamaker"/>
<add key="QnAKnowledgebaseId" value="ca7...b3a"/>
</appSettings>