You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DOTNET版Bot Framework Composer中设置用户响应超时计时器

DOTNET版Bot Framework Composer 用户响应超时功能实现方案

前置配置

首先在你存放提问逻辑的对应对话中,新增2个对话级别的状态变量:

  • conversation.userResponseReceived:布尔类型,默认值为false,用于标记用户是否已经回复当前提问
  • conversation.timeoutReminderSent:布尔类型,默认值为false,用于标记是否已经发送过第一次超时提醒

核心步骤实现

1. 提问节点后配置超时触发逻辑

在你发送「请问您的姓名是什么?」消息的动作之后,依次添加以下逻辑:

  • 先重置两个状态变量:将conversation.userResponseReceived设为false,conversation.timeoutReminderSent设为false
  • 添加第一个延迟动作:延迟时长设为300000(单位为毫秒,对应5分钟),延迟结束后执行条件判断:

    当conversation.userResponseReceived == false时,执行两个动作:

    • 发送消息「您还在吗?」
    • 将conversation.timeoutReminderSent设为true
  • 添加第二个延迟动作:延迟时长设为600000(单位为毫秒,对应提问后10分钟),延迟结束后执行条件判断:

    当conversation.userResponseReceived == false时,执行两个动作:

    • 发送消息「本次对话已结束,感谢您的咨询!」
    • 调用EndConversation内置动作,直接结束当前对话

2. 配置用户回复拦截逻辑

在当前对话的触发器列表中,新增一个OnMessageReceived触发器,设置触发范围为当前提问对话生效,触发后执行以下逻辑:

  • 将conversation.userResponseReceived设为true,终止所有未执行的超时判断逻辑
  • 后续正常走用户姓名接收、校验的业务流程即可

注意事项

  • 若生产环境部署在云服务中,请开启对应应用服务的常驻运行配置,避免应用休眠导致延迟触发出现偏差
  • 若存在多个需要超时判断的提问场景,可将该逻辑封装为对话模板复用,无需重复配置

内容的提问来源于stack exchange,提问作者info

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 06:51:06