代码之家  ›  专栏  ›  技术社区  ›  Peter Wone

为v3项目创建bot文件

  •  0
  • Peter Wone  · 技术社区  · 5 年前

    我继承了一个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>
    

    BFE]

    BFE-please-set-keys

    1 回复  |  直到 5 年前
        1
  •  0
  •   tdurnford    5 年前

    几个月前,BotBuilder SDK的v4引入了Bot文件。在v3中,您可以为您的项目创建一个Bot文件以将其连接到v4 Bot仿真器,但您的所有机密和密钥仍应在web.config中进行管理。