首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >僵尸生成器-超时模块无法识别endConversation操作

僵尸生成器-超时模块无法识别endConversation操作
EN

Stack Overflow用户
提问于 2018-03-28 11:57:18
回答 1查看 158关注 0票数 0

我对Botbuilder-timeout模块的使用有一个问题。我尝试将它添加到我的机器人,以触发对话结束,如果机器人在一段时间内不活动。我按照链接"https://www.npmjs.com/package/botbuilder-timeout“的步骤操作。它可以很好地处理非活动状态。但是,如果我的对话以用户操作成功结束,那么也会触发超时。例如,我将setconversiontimeout设置为30秒。因此,对于任何给定的点,机器人会话在30秒内处于非活动状态,它将触发超时操作。但是,如果对话正常进行,机器人以用户操作结束,就像我结束聊天一样。并且我的代码触发了session.endConversation();但是超时函数不能识别这个end转换,并且仍然询问用户他是否仍然是there.and结束已经结束的会话。

我不确定哪里出了问题。

你能帮我做点什么吗?我如何准确地结束对话,以便这个计时器可以识别它,而不是结束已经结束的对话。

EN

回答 1

Stack Overflow用户

发布于 2018-03-28 15:00:32

实际上,这个模块中有一个bug,请参考https://github.com/User1m/botbuilder-timeout/blob/master/src/timeout.ts#L51上的源代码,这里的源代码是:_this.clearTimeoutHandlers(event);,它将event对象传递给函数。

但是,函数定义是需要event.address.conversation.idprivate clearTimeoutHandlers(convoId: string)

因此,您可以直接将位于botbuilder-timeout/dist/timeout.js的第39行的资源修改为:_this.clearTimeoutHandlers(convoId);

我已经在https://github.com/User1m/botbuilder-timeout/pull/3向这个仓库申请了一个拉取请求,如果通过了,你就可以更新这个模块了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49525845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档