如何结束谈话?

2024-04-14

我已经使用 Bot Framework 创建了一个机器人,并且正在使用conversationID用我的后端对话引擎维护状态。我在文档中找不到用于结束对话的信息。至关重要的是,在某些时候,用户能够发出对话“结束或退出”的信号,以便下次他们开始对话时,它会得到一个新的conversationID。我想这应该是一个简单的任务。我使用默认的回显模板,只是用我的类的方法替换了字母数行的计数,该方法返回要发送回用户的文本。


现在有一个 ActivityTypes.EndOfConversation (这已经在 sdk 中)。

这是一种使用方法: v3

public static async Task EndConversation(this IBotToUser botToUser, string code = EndOfConversationCodes.CompletedSuccessfully, CancellationToken cancellationToken = default(CancellationToken))
{
    var message = botToUser.MakeMessage();
    message.Type = ActivityTypes.EndOfConversation;
    message.AsEndOfConversationActivity().Code = code;

    await botToUser.PostAsync(message, cancellationToken);
}

这也应该出现在未来的版本中:GitHub 拉取请求 https://github.com/Microsoft/BotBuilder/pull/2678/files/f2b6ece2d54c408e4b0d78b6bd4878fc14496cb3#diff-daab248c30b725ede1a1a7141d6b3ec3


v4

public static async Task EndConversation(this ITurnContext turnContext, string code = EndOfConversationCodes.CompletedSuccessfully, CancellationToken cancellationToken = default(CancellationToken))
{
    var endOfConversation = Activity.CreateEndOfConversationActivity();
    endOfConversation.Code = code;
    await turnContext.SendActivityAsync(endOfConversation, cancellationToken);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何结束谈话? 的相关文章

  • SQL 查询将文本数据存储在 Varbinary(max) 中

    有没有办法让 varbinary 在 SQL Server 中接受文本数据 这是我的情况 我有相当大量的 XML 我计划以 压缩 格式存储它们 这意味着 Varbinary 但是 当我进行调试时 我希望能够翻转配置开关并以纯文本形式存储 以
  • MSMQ接收和删除

    是否有任何选项可以在读取消息后将其从 MSMQ 中删除 比如 接收 删除可以作为原子操作运行吗 听起来您想查看下一条消息 然后在处理完成后接收它 Message message Queue Peek Queue ReceiveById me
  • 以下 PLINQ 代码没有改进

    我没有看到使用以下代码的处理速度有任何改进 IEnumerable
  • 虚拟并行端口模拟器

    在我的计算机网络课程中 我们应该通过使用本机寄存器 例如使用 outportb 等命令 来学习并行端口编程 我没有并行端口 因为我住在 2011 年 但想练习这些程序 我使用 dosbox 安装了旧的 Turboc 3 IDE 有没有一个程
  • 关闭整数的最右边设置位

    我只需要关闭最右边的设置位即可 我的方法是找到最右边位的位置 然后离开该位 我编写这段代码是为了这样做 int POS int n int p 0 while n if n 2 0 p else break n n 2 return p i
  • 为什么 std::function 不是有效的模板参数,而函数指针却是?

    我已经定义了名为的类模板CallBackAtInit其唯一目的是在初始化时调用函数 构造函数 该函数在模板参数中指定 问题是模板不接受std function作为参数 但它们接受函数指针 为什么 这是我的代码 include
  • 在 C 语言中替换宏内的宏

    我正在尝试使代码部分可重用 我下面的评论片段没有达到我想要的效果 define NAME ABC define LOG SIZE NAME LEN 我想LOG SIZE决心ABC LEN 我尝试过使用 但没能让它发挥作用 LOG SIZE在
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • 如果在代码中添加元素,“FindName”将不起作用

    在 WPF 应用程序中 如果在 XAML 中声明 ContentControl
  • MSChart 控件中的自定义 X/Y 网格线

    我有一个带有简单 2D 折线图的 C Windows 窗体 我想向其中添加自定义 X 或 Y 轴标记 并绘制自定义网格线 例如 以突出显示的颜色 虚线 我查看了 customLabels 属性 但这似乎覆盖了我仍然想显示的默认网格 这是为了
  • 在 C++ 代码 gdb 中回溯指针

    我在运行 C 应用程序时遇到段错误 在 gdb 中 它显示我的一个指针位置已损坏 但我在应用程序期间创建了 10 万个这样的对象指针 我怎样才能看到导致崩溃的一个 我可以在 bt 命令中执行任何操作来查看该指针的生命周期吗 谢谢 鲁奇 据我
  • WinForms - 加载表单时如何使用 PaintEventArgs 运行函数?

    我试图理解图形 在 Graphics FromImage 文档中 它有这样的示例 private void FromImageImage PaintEventArgs e Create image Image imageFile Image
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 如何测试某些代码在 C++ 中无法编译? [复制]

    这个问题在这里已经有答案了 可能的重复 单元测试编译时错误 https stackoverflow com questions 605915 unit test compile time error 我想知道是否可以编写一种单元测试来验证给
  • 将日期时间显示为 MM/dd/yyyy HH:mm 格式 C#

    在数据库中 日期时间以 MM dd yyyy HH mm ss 格式存储 但是 我想以 MM dd yyyy HH mm 格式显示日期时间 我通过使用 String Format 进行了尝试 txtCampaignStartDate Tex
  • 初始化列表在 VC10 中不起作用

    我在 VC 2010 中编写了这个程序 class class1 public class1 initializer list
  • 使用 IdentityDbContext 和 Code First 自动迁移表位置和架构的实体框架?

    我正在尝试使用 IdentityDbContext 类设置自动迁移更新 并将更改传播到整个数据库的实际 DbContext 在进入代码之前 在使用自动迁移实现 IdentityDbContext 时 我收到此错误 影响迁移历史系统表位置的自
  • 对多个对象使用事件处理程序

    我有 20 件物品List
  • MSVC编译器下使用最大成员初始化联合

    我正在尝试初始化一个LARGE INTEGER在 C 库中为 0 确切地说是 C 03 以前 初始化是 static LARGE INTEGER freq 0 在 MinGW 下它产生了一个警告 缺少成员 LARGE INTEGER Hig
  • 如何知道 HTTP 请求标头值是否存在

    我确信这很简单 但是却让我感到厌烦 我在 Web 应用程序中使用了一个组件 它在 Web 请求期间通过添加标头 XYZComponent true 来标识自身 我遇到的问题是 如何在视图中检查此组件 以下内容不起作用 if Request

随机推荐

  • C# 和 C++ 中 ++i 运算符的区别

    我用 C 和 C 编写了以下代码 int i 0 i 11 此 C 编译器出现错误后 The left hand side of an assignment must be a variable property or indexer 但是
  • 如何禁用 Identityserver4 的 SSL

    为了测试目的 我需要在 DotNet Core 2 中禁用 IdentityServer4 的 SSL TSL 我看过这个链接 禁用 Identityserver3 的 SSL https stackoverflow com questio
  • ActiveRecord 迁移未填充 Postgres 物化视图

    我有一个MATERIALIZED VIEW这是通过迁移创建的 class MyView lt ActiveRecord Migration def up ActiveRecord Base connection execute lt lt
  • 如何在 mongoose js 中嵌套相同的模式

    我正在尝试使用 mongoose js 嵌套模式 特别是sameschema 创建树状结构 在此配置中 一个文档只能有 1 个父文档 但同一文档可以是多个子文档的父文档 以下是我最初的处理方式 var mongoose require mo
  • 读写模式Python [重复]

    这个问题在这里已经有答案了 可能的重复 python open内置函数 模式a a w w 和r 之间的区别 https stackoverflow com questions 1466000 python open built in fu
  • CSS 图像遮罩叠加

    我正在尝试获取一个透明的 png 框架图像 将其悬停在 img 标签上 以在其上创建框架的外观 我尝试了多种不同的方法 但似乎都不起作用 我使用的最新方法是http www cssbakery com 2009 06 background
  • 如何在 Struts 2 验证框架中验证布尔值

    简单 我必须确保选中表单上的隐私复选框 我尝试使用表达式验证器 和字段表达式验证器 但它不起作用 有谁能够帮助我 您能提供更多信息吗 您是如何使用表达式验证器的 为什么它不起作用 看来这种方法应该很好用 需要考虑一些事情 您的布尔值是否同时
  • 硒,是否存在多种元素之一?

    以答案为基础如何使用 Selenium for Python 等待页面加载 https stackoverflow com questions 26566799 how to wait until the page is loaded wi
  • 如何获取 Mac(Cocoa 或 C)的电池电量(以 mWh(而非百分比)为单位)

    标题几乎解释了一切 我正在创建一个 Mac 应用程序 我需要电池电量具体单位为毫瓦时 不是百分比 最好用 C 或 Objective C 来做 Thanks 抱歉 但我认为硬件没有办法报告这一点 随着电池进入其生命周期 它会随着时间的推移而
  • 以 json 形式返回时排除某些字段

    我有一个 ASP NET Web API 应用程序 现在假设应用程序由 User 实体和 Post 实体组成 帖子是由用户编写的 因此每个帖子实体都包含对用户实体的引用 class Post public int Id get set pu
  • android 列表视图按钮

    我正在尝试在列表视图中添加一个按钮 但按钮没有显示 我正在使用 json 解析从我的服务器获取数据 我正在使用哈希图和列表视图 此外 我也无法在列表视图中添加按钮 这是我的代码 package acb xiynove import java
  • 使用 Open Graph API 阻止用户

    是否可以使用开放图谱 API 阻止 Facebook 上的用户 我不想阻止用户使用应用程序 但希望允许用户在我的应用程序中阻止 Facebook 好友 如果他们愿意 这与访问 Facebook com 并阻止用户一样 从而将他们隐藏在您的所
  • ADO 参数化查询不返回任何结果

    我正在使用此查询从经典 asp 页面中的 vbscript 获取一些结果 但它不会返回任何值 该页面是空白的 也没有错误 请问有什么建议吗 dim cmd admin no admin no request QueryString admi
  • Sammy.js 使用 &,? 读取路由

    需要的路线看起来像 routeName param1 aaaa param2 bbb 添加到萨米 routeName param1 param2 and routeName param1 param2 他们都不起作用 我自己一直在 Samm
  • AVAssetExportSession - 在 IOS 中加入 2 个 mp4 文件

    我正在尝试使用以下代码在 ipad 2 上将 2 个预先存在的 mpeg 4 视频连接在一起 void mergeTestVideos setup asset NSString firstassetpath NSString stringW
  • Spring Tool Suite 找到 spring-boot 集成测试配置并且不启动主应用程序

    我在使用 Spring Tool Suite 与 spring boot 时遇到了一些困难 我创建了一个自定义 Maven spring boot web application 其中包括多个 JUnit 测试 其中一个测试是集成测试 它具
  • 建模单个子表/多个父表

    我正在努力对共享单个表 子表 的多个表 父表 之间的关系进行建模 给定以下父表1 其他父表2 3等类似 Entity Table name parent1 public class ParentEntity1 Id Column name
  • 如何装饰可调用类的实例?

    def decorator fn def wrapper args kwargs print With sour cream and chives return fn args kwargs return wrapper class Pot
  • 为什么 Nokogiri 没有安装?

    我在安装 Nokogiri 时遇到问题 当我跑步时bundle install or gem install nokogiri安装失败 我收到的错误是 注 此失败是由于使用nokogiri org上的安装命令造成的 Building nat
  • 如何结束谈话?

    我已经使用 Bot Framework 创建了一个机器人 并且正在使用conversationID用我的后端对话引擎维护状态 我在文档中找不到用于结束对话的信息 至关重要的是 在某些时候 用户能够发出对话 结束或退出 的信号 以便下次他们开