【问题标题】:botbuilder-timeout for Typescript Virtual assistantTypescript 虚拟助手的 botbuilder-timeout
【发布时间】:2020-02-10 14:50:05
【问题描述】:

我们已经 Microsoft Virtual Assistant 构建了它的 Typescript,我们正计划添加超时功能。这意味着如果用户在一定时间内没有参与,VA 应该用它的技能结束对话。

在 V3 SDK 中有 botbuilder-timeout 模块可以做到这一点,它说,

“用于 Microsoft Bot Framework 的模块,使您的机器人能够在机器人检测到不活动时提示用户,如果在定义的时间段后没有用户活动,则最终结束对话。”

V4 或虚拟助手中是否有提供类似功能的东西?如果是的话,任何想法/指向文档表示赞赏。

【问题讨论】:

    标签: timeout botframework


    【解决方案1】:

    对于这样的 V4 机器人,没有任何官方消息。我也不相信我见过任何非官方的东西。

    话虽如此,我们通常推荐如下内容:

    1. 在每条消息上,启动一个同步计时器。您可以在 bot 中执行此操作,但最好在 bot 之外执行此操作,例如使用 Azure Functions 或其他东西。这个答案的其余部分将假设计时器在机器人之外。确保计时器还跟踪与计时器相关的conversationReference
    2. 每次匹配conversationReference的用户发送消息时重新启动计时器
    3. 一旦计时器到期,向机器人发送包含用户和对话信息的事件(可能通过ChannelData),让机器人知道计时器已到期。您还可以创建一个单独的端点并在那里监控,因此您不需要活动方案;而不是/api/messages,你可以使用/api/expiredTimers之类的东西。
    4. 收到过期计时器事件后,send a proactive message 向用户发送 1) 查看他们是否还在,或 2) 结束对话。

    【讨论】:

    • 谢谢 mdrichardson - MSFT。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多