【发布时间】:2021-12-01 18:42:20
【问题描述】:
正是标题所说的。我一直在尝试为通过 Bot Framework Composer 创建的机器人实现打字指示器(在机器人发送消息之前)。指导方针是将appsettings.json 中的showTyping 属性设置为true,但是当我这样做时,它有时会在机器人发送消息之前显示打字指示器,但有时它会在机器人消息之后显示打字指示器。
我已经查看了这个错误,但似乎没有任何地方支持 Bot Framework Composer,但是有资源可以解决使用 Bot Framework SDK 发生的同样问题。我已广泛阅读并尝试了有关 SDK 版本的所有建议,但似乎无法使其正常工作。我不知道我是否遗漏了一些将组件连接在一起的代码,但我已经做了很多事情,通常包括
- 创建
CustomShowTypingMiddleware.cs - 创建和编辑
AdapterWithErrorHandler.cs - 使用
Startup.cs中的适配器
我不知道是否要向其他任何 composer c# 文件添加其他内容(例如 BotController.cs、Program.cs),但这些是我在代码示例中注意到的更改,所以这就是全部我补充说。通过进行这些更改,它似乎什么也没做。它不会破坏机器人,但也不会添加任何打字功能。我尝试过的另一种只能在本地工作的方法是创建一个自定义中间件组件(在此 https://docs.microsoft.com/en-us/composer/how-to-create-custom-actions?tabs=csharp#export-the-bot-runtime 之后),在我的作曲家机器人中引用它,然后将新组件的名称添加到 appsettings.json 中的 components 数组中.这成功发送了打字活动并在本地聊天中显示,但每当我将代码部署到 Azure 并在 Webchat 中测试或在链接到此托管 Azure 机器人的客户端应用程序中使用它时,它总是会发回 502/500 错误说请求 webchat/join 中缺少秘密或令牌,而实际上 Authorization 标头显示其他内容。
如果有任何其他方法(适配器或自定义组件)工作或新方法工作,我将不胜感激。
【问题讨论】:
标签: c# botframework direct-line-botframework web-chat bot-framework-composer