我正在尝试运行使用
teamsfx new
命令生成的模板命令机器人。
我已经使用 ngrok 为 Restify 应用程序创建了一个隧道。我让他们在我的 .env.local 文件中了解这个域名。
我还使用teamsfx帐户登录azure和m365登录。 之后我运行命令:
teamsfx provision --env local
,一切顺利teamsfx deploy --env local
,一切顺利teamsdx package --env local
,这创建了 zip 文件,然后我将其上传到团队。这是我的问题:
/api/message
端点(我在那里添加了一些日志记录),但它没有响应,这是为什么?.env.local
文件中,BOT_ID
已填充,它来自哪里?本地配置命令是否仅在我的 Mac 上模拟某些内容?teamsfx deploy --env local
命令的真正作用是什么?也没有将任何内容部署到 azure。您能否检查一下在 Teams 聊天中输入“helloworld”时命令处理程序是否被命中?您可以在 vscode 中调试或检查机器人应用程序中的输出: 另请检查Teams聊天中是否有任何错误显示,您可以在Teams Web客户端中按F12打开开发工具进行检查。
本地配置命令会将您的机器人注册到 https://dev.botframework.com/bots 并在 Teams Developer Portal 中创建 Teams 应用程序。在远程配置时,机器人服务和 AAD 应用程序将在您的 Azure 帐户中配置。
本地部署命令将运行 npm install 并在本地计算机中启动您的机器人应用程序。
在本地运行 Teams 机器人需要隧道服务,以便机器人框架服务可以与其通信。除了 Ngrok,您还可以使用MS devtunnel。阅读此 wiki 的更多内容,了解如何使用 dev-tunnel 进行本地预览。
从 TTK 创建的团队机器人应用程序已经构建在 Bot-Framework 工作之上,您可以阅读更多内容Microsoft Teams 机器人如何工作
您是否在机器人代码中实现了处理和响应传入消息的逻辑?确保您已经实现了必要的消息处理程序和逻辑来生成响应,并检查您的代码是否有在处理传入消息期间可能发生的任何异常或错误。
.env.local 文件中的 BOT_ID 是在配置过程中生成的。当您运行 teamfx Provision --env local 命令时,它会在本地为您的机器人设置必要的资源和配置。这包括在 Azure Active Directory (AAD) 中创建应用程序注册并为您的机器人生成唯一的 BOT_ID。
teamsfx deploy --env local 命令用于将您的机器人部署到本地环境。
是的,您需要 Ngrok 或 devtunnel 在本地测试您的机器人。
是的,Bot Framework 是为 Teams 构建机器人的推荐框架。