Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python机器人中使用ShowTypingMiddleware_Python_Botframework - Fatal编程技术网

如何在python机器人中使用ShowTypingMiddleware

如何在python机器人中使用ShowTypingMiddleware,python,botframework,Python,Botframework,我想在python机器人中使用ShowTypingMiddleware中间件,但我找不到如何正确地连接到该中间件。 botbuilder核心4.7.1 botbuilder模式4.7.1 #app.py 适配器=BotFrameworkAdapter(设置) #显示长时间活动的输入指示器 适配器使用(ShowTypingMiddleware(延迟=0.5,周期=2.0)) #bot.py ... 消息活动上的异步定义(self,turn\u上下文:turn上下文): 如果turn_contex

我想在python机器人中使用ShowTypingMiddleware中间件,但我找不到如何正确地连接到该中间件。
botbuilder核心4.7.1

botbuilder模式4.7.1

#app.py
适配器=BotFrameworkAdapter(设置)
#显示长时间活动的输入指示器
适配器使用(ShowTypingMiddleware(延迟=0.5,周期=2.0))
#bot.py
...
消息活动上的异步定义(self,turn\u上下文:turn上下文):
如果turn_context.activity.text==“中间件”:
等待asyncio.sleep(10)#模拟获取一些数据
等待打开上下文。发送活动(“完成”)
...
我希望调用中间件 -显示耗时超过0.5秒的活动的TI -重复每2秒向客户端发送一次TI

实际结果:

  • TI仅发送一次
  • 不发送重复TI
  • 此时将显示运行时警告:
c:\develope\x\pybot1\.venv\lib\site packages\botbuilder\core\show\u typing\u middleware.py:79:
运行时警告:从未等待协同程序“ShowTypingMiddleware.on\u turn..start\u interval”
开始时间间隔(上下文、期间、期间)
RuntimeWarning:启用tracemalloc以获取对象分配回溯
在emulator日志中,很明显只发送了一个TI指示器,并且看不到重复

[16:55:12]<- messageYou said 'middleware'
[16:55:12]POST200conversations.:conversationId.activities.:activityId
[16:55:12]POST201directline.conversations.:conversationId.activities
[16:55:43]-> messagemiddleware
[16:55:44]<- typing
[16:55:44]POST200conversations.:conversationId.activities.:activityId
[16:55:54]<- messagedone
[16:55:54]POST200conversations.:conversationId.activities.:activityId
[16:55:54]POST201directline.conversations.:conversationId.activities
[16:55:12]消息中间件

[16:55:44]因为我可以用Python而不是.NET重现这个问题,所以看起来您在Python SDK中发现了一个bug。请报告并确保链接到此帖子


还请注意,虽然Emulator可以进行测试,但类型指示器是通道特定的功能,您不应该期望所有通道都以相同的方式对待类型指示器。即使您在Emulator中按所需方式使用输入指示器,您所针对的频道也可能会有不同的行为。

我的回答可以接受吗?您是否计划报告此错误?链接:
[16:55:12]<- messageYou said 'middleware'
[16:55:12]POST200conversations.:conversationId.activities.:activityId
[16:55:12]POST201directline.conversations.:conversationId.activities
[16:55:43]-> messagemiddleware
[16:55:44]<- typing
[16:55:44]POST200conversations.:conversationId.activities.:activityId
[16:55:54]<- messagedone
[16:55:54]POST200conversations.:conversationId.activities.:activityId
[16:55:54]POST201directline.conversations.:conversationId.activities