【问题标题】:How can I make a conversation with a chatbot expire?如何使与聊天机器人的对话过期?
【发布时间】:2017-03-14 18:03:05
【问题描述】:

我注意到,有时用户正在与机器人交互,有时他们在机器人询问某些信息后离开。因此,下次用户与机器人交互时,机器人仍会期待问题的输入。

我希望对话在 60 分钟后过期,即使机器人希望输入问题,用户也可以开始新对话,而不必担心为问题提供有效答案一两天前制作的。

有没有办法做到这一点?如果有,怎么做?

【问题讨论】:

  • 你使用的是node.js还是C# SDK?
  • 嗨@PavelVeller。我正在使用 C#。
  • 您可以尝试在 user.typing = false 60 分钟后使用 Dialogs 设置警报,并按照 Ezequiel Jadib 的建议调用 DeleteProfileScorable。

标签: c# bots botframework


【解决方案1】:

您可以模仿 DeleteProfileScorable 的作用:

this.stack.Reset();
botData.UserData.Clear();
botData.PrivateConversationData.Clear();
await botData.FlushAsync(token);

其中stack是IDialogStack,botdata是IBotData

如果您打算从控制器执行此操作,我认为您将不得不使用 Autofac 来解决这两个依赖项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多