Botframework “如何发送”;是打字吗;响应任务完成前的通知?

Botframework “如何发送”;是打字吗;响应任务完成前的通知?,botframework,Botframework,如何从bot应用程序发送通知,直到bot处理另一个响应。我可以看到目前它被限制为3秒,但我想延长它,直到下一个响应从机器人返回 有人能帮我吗?我见过一些方法,他们建议递归显示,直到任务完成执行,但不确定如何实现。目前,这不是bot框架的一个功能。您无法控制键入指示器显示的时间长度。您最好尝试根据需要多次重新发送键入指示符,直到长时间运行的任务完成。这将是一个定制的解决方案,可能已经有一些例子了。在处理异步运行时,您可以每隔几秒钟发送一次键入活动。这会占用一点额外的带宽,因此您的通话会更轻松。e、

如何从bot应用程序发送通知,直到bot处理另一个响应。我可以看到目前它被限制为3秒,但我想延长它,直到下一个响应从机器人返回


有人能帮我吗?我见过一些方法,他们建议递归显示,直到任务完成执行,但不确定如何实现。

目前,这不是bot框架的一个功能。您无法控制键入指示器显示的时间长度。您最好尝试根据需要多次重新发送键入指示符,直到长时间运行的任务完成。这将是一个定制的解决方案,可能已经有一些例子了。

在处理异步运行时,您可以每隔几秒钟发送一次键入活动。这会占用一点额外的带宽,因此您的通话会更轻松。e、 g

var search = searchclient.Documents.SearchAsync(query);

var typing = turnContext.Activity.CreateReply();
typing.Type = ActivityTypes.Typing;

do {
    turnContext.SendActivityAsync(typing);
} while (!search.Wait(2000));

var results = search.Result.Results;

或者将等待时间设置为4秒,这样机器人看起来会输入一点,思考,然后再输入更多…

几乎所有聊天都采用假装“实时”显示输入指示器的形式。您最好不要尝试,而是让它在客户端随机变化,试探性地改变您自己的逻辑,并让任何结束事件取消它。尤其是如果您的API占用是您运营成本的一部分。

您能添加您迄今为止尝试过的示例吗?您在谈论哪个渠道?Webchat?你用什么编程语言开发?你能分享你的代码吗?你试了什么?什么有效?什么不起作用?我正在使用c#使用directline webchat。webchat频道有一个解决方案,您可以将键入计时器设置为15秒(机器人超时值),但OP不清楚他使用的频道您有这样的例子吗?我没听说过。是的,我为一个客户运行了它。但是您必须按照源代码中的方式重建webchat,而不是参数(只是3000到15000个值的更改)。但是我现在还没有在网上打开演示,如果你在15秒之前回复,webchat足够智能,可以停止显示输入;-)顺便说一下: