【发布时间】:2018-10-20 04:11:43
【问题描述】:
我正在尝试在 Node.js 中为 web bot 构建多个部署环境。我创建了 2 个资源组并生成了所有必要的凭据 - 应用程序 ID、应用程序密码和密钥(直线)。我正在使用 bitbucket 管道进行部署,并且每个分支的变量都匹配。
最终结果是一个机器人正在工作,另一个返回 500 错误。在 Kudu 中,我可以看到代码正在运行。当我尝试从 CMD 手动运行代码时,它返回一个错误:
bot.listen() 不是函数
这很令人困惑,因为这 2 个机器人之间唯一不同的是凭据 - 应用程序 ID、应用程序密码和直接线路的密钥。我仔细检查了值是否正确粘贴。依然没有。这似乎是这些变量的值的问题吗?
此外,正在运行的一个是在 8 月设置的,而另一个是几天前创建的。在设置过程中,注意到需要注册才能获取应用程序密码(第一个不是这种情况)。
此外,新创建的机器人的应用程序设置中缺少 MicrosoftAppId 和 MicrosoftAppPassword。在创建机器人的过程中有什么变化吗?
【问题讨论】:
-
当您说“创建机器人”时,您的意思是在 Azure 上创建机器人吗?因为 8 月份,bot 框架使用的是 V3,现在他们已经发布了 V4。有些设置不一样,不。
-
是的,完全正确。我在 Azure 上创建了一个新机器人。你能告诉我或分享一些链接,我可以在其中看到新设置吗?
-
如果您将
MicrosoftAppId和MicrosoftAppPassword设置为您在机器人本身中使用的内容,会发生什么? (您提到将它们保存在某个地方?)在创建过程中这两个键是autogenerated,否则它只会占用您在字段中输入的任何内容。 -
因此生成 pass 的方式如 [link] (docs.microsoft.com/en-us/azure/bot-service/…) 中所述。我们在 repo 中使用了 Id 和 Pass 作为环境变量,因此我们能够创建连接到机器人的连接器。这些凭证对我们不起作用。此外,在我们之前构建的机器人中,在应用程序设置中我们清楚地看到了 MicrosoftAppId 和 MicrosoftAppPassword。现在,我们看不到这些变量。我试图手动将它们放在那里,但这并没有让我们得到我们想要的结果。
标签: node.js azure botframework