gpt4 book ai didi

node.js - 哪些因素可能会阻止 EC2 托管的机器人回复 Microsoft Bot Framework 上的消息?

转载 作者:太空宇宙 更新时间:2023-11-03 22:27:57 25 4
gpt4 key购买 nike

我在 AWS EC2 上托管了一个 Node.JS 机器人,具有可在 Chrome/Firefox/Safari 中使用的有效 Comodo SSL 证书,并且我已在我的端点的机器人框架上配置了一个机器人。

当我在https://dev.botframework.com启动机器人框架控制台时我可以单击“测试”按钮,它会显示“已接受”。我还可以在嵌入式网络聊天中发送消息,AWS 上的机器人日志记录显示正在接收消息,并且通过调用 session.send() 发回一条消息...但返回消息永远不会出现回到网络聊天中。服务器端或机器人框架错误查看器中没有记录任何错误,该消息似乎只是默默地被丢弃。我添加了 Skype channel 并在 Skype 中获得完全相同的行为。

当我将相同的代码部署到 Azure Web 应用程序时,它在两个方向上都运行良好。

我完全陷入困境......我无法弄清楚是什么阻止了返回消息的返回,并且我不知道接下来要采取哪些步骤来进行故障排除。从文档中不清楚消息如何发送回框架,是否有一个特定的主机/IP/端口我应该从 EC2 探测以查看是否有问题?我的 AWS 安全组中没有会阻止连接的出站规则,例如“telnet directline.botframework.com 80”成功。

最佳答案

事实证明,问题在于,在迁移到 EC2 时,我未能为机器人框架设置应用程序 ID 和密码(我将它们作为环境变量提供)。向 ChatConnector 构造函数的映射的“appId”和“appPassword”参数提供未定义的值是有效输入:对于连接器来说,就好像没有设置任何值,并且连接器进入测试模式并与模拟器。

由于某种原因,当机器人在没有身份验证的情况下将消息发送回框架时,机器人框架控制台(位于 https://dev.botframework.com/bots )不会报告错误,并且由于某种原因,“测试与您的机器人的连接”显示“已接受”,无需身份验证。我尝试使用无效的 appId 和 appPassword,结果报告“Forbidden”。如果它在连接到没有 appId 和 appPassword 运行的机器人时也这样做了,那么它将对故障排除有很大帮助。

关于node.js - 哪些因素可能会阻止 EC2 托管的机器人回复 Microsoft Bot Framework 上的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42743248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com