欢迎消息在网络聊天中不可见,但可以在模拟器中使用

2024-05-04

IConversationUpdateActivity update = message;
        using (var scope = Microsoft.Bot.Builder.Dialogs.Internals.DialogModule.BeginLifetimeScope(Conversation.Container, message))
        {
            var client = scope.Resolve<IConnectorClient>();
            if (update.MembersAdded.Any())
            {
                foreach (var newMember in update.MembersAdded)
                {
                    if (newMember.Id != message.Recipient.Id)
                    {
                        var reply = message.CreateReply();
                        reply.Text = $"Welcome {newMember.Name}!";
                        client.Conversations.ReplyToActivityAsync(reply);
                    }
                }
            }
        }

我是使用 Microsoft BotFramework 进行 ChatBot 开发的新手。

我已经注册并部署了一个可以在模拟器上正常工作的简单机器人(即机器人说欢迎来到我的简单机器人),但是当我使用 WebChat 时,没有显示欢迎问候语,而是当用户输入 Hi 或之后的任何文本时,问候消息是显示。 已经看过各种教程和解决方案,但没有得到确切的原因。我正在使用 Microsoft.Bot.Builder v3.12


我刚刚测试了你的代码并得到了相同的行为。奇怪的是,当机器人加入时似乎只有一个对话更新,而不是一个用于机器人和一个用于用户。我正在调查此事。如果您想尝试一下,以下代码是有效的:

IConversationUpdateActivity iConversationUpdated = message as IConversationUpdateActivity;
if (iConversationUpdated != null)
{
    ConnectorClient connector = new ConnectorClient(new System.Uri(message.ServiceUrl));

    foreach (var member in iConversationUpdated.MembersAdded ?? System.Array.Empty<ChannelAccount>())
    {
        // if the bot is added, then
        if (member.Id == iConversationUpdated.Recipient.Id)
        {
            var reply = ((Activity)iConversationUpdated).CreateReply(
                $"Hi! I'm Botty McBotface and this is a welcome message");
            connector.Conversations.ReplyToActivityAsync(reply);
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

欢迎消息在网络聊天中不可见,但可以在模拟器中使用 的相关文章

  • 如何检查图像对象与资源中的图像对象是否相同?

    所以我试图创建一个简单的程序 只需在单击图片框中更改图片即可 我目前只使用两张图片 所以我的图片框单击事件函数的代码 看起来像这样 private void pictureBox1 Click object sender EventArgs
  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • 获取没有非标准端口的原始 url (C#)

    第一个问题 环境 MVC C AppHarbor Problem 我正在调用 openid 提供商 并根据域生成绝对回调 url 在我的本地机器上 如果我点击的话 效果很好http localhost 12345 login Request
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • 如何使用C#在asp.net中下载xml文件

    我正在使用网络应用程序ASP NET 与 MVC3 我是 mvc3 的新手 我的网页上有一个下载按钮 当我要单击下载按钮时 我希望能够打开该 XML 文件 我尝试过一些代码更改动作结果但我没有打开文件 通过使用下面提到的代码 我收到一个下载
  • for循环中计数器变量的范围是多少?

    我在 Visual Studio 2008 中收到以下错误 Error 1 A local variable named i cannot be declared in this scope because it would give a
  • Qt表格小部件,删除行的按钮

    我有一个 QTableWidget 对于所有行 我将一列的 setCellWidget 设置为按钮 我想将此按钮连接到删除该行的函数 我尝试了这段代码 它不起作用 因为如果我只是单击按钮 我不会将当前行设置为按钮的行 ui gt table
  • 当操作繁忙时,表单不执行任何操作(冻结)

    我有一个使用 C 的 WinForms 应用程序 我尝试从文件中读取一些数据并将其插入数据表中 当此操作很忙时 我的表单冻结并且无法移动它 有谁知道我该如何解决这个问题 这可能是因为您在 UI 线程上执行了操作 将文件和数据库操作移至另一个
  • C++ 复制初始化和直接初始化,奇怪的情况

    在继续阅读本文之前 请阅读在 C 中 复制初始化和直接初始化之间有区别吗 https stackoverflow com questions 1051379 is there a difference in c between copy i
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • C++ fmt 库,仅使用格式说明符格式化单个参数

    使用 C fmt 库 并给定一个裸格式说明符 有没有办法使用它来格式化单个参数 example std string str magic format 2f 1 23 current method template
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • Typescript,自动等待所有 Promise 返回函数调用

    我正在使用 async 函数 有时我忘记为内部调用添加 await async function doThreeSteps gt await firstPromiseReturningFunc nonAsyncFunction second
  • MediaPlayer.setDataSource(String) 不适用于本地文件

    如果我使用静态方法 MediaPlayer create context id 我可以播放本地 mp3 但如果我使用非静态方法 MediaPlayer setDataSource String 它就不起作用 发生的情况是 当我调用 Medi
  • 如何在 JPQL 语句中使用类型转换?

    我有两个Integer数据库中的列 derby 和 db2 我需要将它们彼此分开JPQL 两列都是类型Integer如果余数是十进制数 则返回零 例如0 25变成0等等 这是可以理解的 因为类型是 int In SQL例如我可以有这个 se
  • matplotlib 绘图,然后等待原始输入

    我正在尝试打开一系列 png 图 我希望能够在屏幕上查看绘图 然后收到提示 等待我 按 Enter 按回车键后 应显示下一个图 我见过很多类似的问题 Matplotlib 强制绘图显示然后返回主代码 https stackoverflow
  • iPhone 上的 Flash(或 Silverlight)

    我对在 iPhone 上开发应用程序感兴趣 并且作为一名 NET 和 ActionScript 开发人员 我对 Objective C Cocoa Touch 编程的学习曲线有点害怕 我知道 Adob e 已经为 iPhone 准备好了 F
  • 需要帮助在 D3.js 条形图中将 x 轴刻度与条形对齐

    我有一个可用的线性条形图D3 js http d3js org 它也有基于时间的 x 轴 条形图绑定到计数属性 而轴绑定到日期属性 轴上的刻度未与条形对齐 知道如何将它们两者排列起来吗 这是 jsFiddle http jsfiddle n
  • git log over 使用 --follow 时限制输出? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 在以下服务
  • 实现github.com文件无缝文件导航

    我刚刚在浏览 github 存储库时注意到最近的变化 当您选择文件或文件夹时 新文件会滑入并推出旧文件 使用 jquery 很容易做到这一点 但真正不同的是 URL 本身实际上发生了变化 因此书签仍然有效 我一直在努力为我正在开发的图书导航
  • C# - 当站点上没有活动时,Quartz 调度程序停止运行

    我用quartz调度器创建了asp net站点 该作业正在后台运行 站点上没有其他活动 Quartz 调度程序每 30 分钟调度一次 IIS启动后 Scheduler运行正常 但一段时间后 Scheduler 停止运行 大约 1 小时 如果
  • 水平滚动卡片,在颤动中具有捕捉效果

    我想创建一个水平滚动的卡片列表 从左或右滑动时具有捕捉到的效果 每张卡片之间都有一定的间距 适合屏幕 如下图所示 除此之外 这些水平可滚动列表元素应包含在垂直可滚动列表内 我所能实现的只是在遵循 flutter 文档中的示例之后显示水平滚动
  • 如何在 Rails 中两次加入相同的 2 个模型?

    我有一个带有国家 地区首选项的应用程序 用户将有两种类型的国家偏好 事件和研究 未来可能还会有更多 我更倾向于使用 2 个表来表示这一点 而不是使用 STI 我在优雅地配置 Rails 来执行此操作时遇到了一些麻烦 我可以破解它 但我宁愿按
  • 我可以在 Ruby 的 if/else 中使用大括号吗?

    为什么我不能在中使用大括号if else结构体 我离开了 Python 因为我对仔细缩进语句感到不舒服 Ruby 中也是这样吗 例如 我可以写这样的东西吗 if token hello puts hello encountered lots
  • 托管 C++ 和 AnyCPU

    我有一个托管 C dll 我从 C 项目中引用它 C 项目将被编译为 AnyCPU 有没有办法编译 32 位和 64 位版本的托管 C dll 然后告诉 C 项目在运行时根据正在运行的体系结构加载正确的版本 让 AnyCPU dll 与 C
  • 在 Products.scala 中找不到 flash

    我目前正在阅读 Peter Hilton 的 Play for Scala 我刚刚结束了第一个示例 Play 应用程序 您可以在其中构建回形针目录 然而 在编译时 我收到一个编译错误 告诉我尚未找到值 flash 通常这是我犯的一个简单错误
  • 在Python中将一个方法(带参数)传递给另一个方法的最佳方法是什么

    将方法和方法参数传递给另一个方法的最佳方法是什么 有更好的方法来执行以下操作吗 def method1 name return Hello name def method2 methodToCall methodToCallParams q
  • 使用 Android 应用程序将条目发布到 SQL Server

    我是一个真正的新手 如果这个问题听起来很愚蠢 我提前道歉 我正在尝试创建一个应用程序 允许我将客户数据发布到 Windows 服务器上的 SQL Server 这可能吗 如果是这样 我需要什么 再次感谢您的帮助 如果这是一个愚蠢的问题 我再
  • 无法将类型“java.util.Collections$UnmodifyingMap”的属性值转换为所需类型“org.springframework.batch.item.ExecutionContext”

    当我尝试使用 StepExecutionContext 在步骤之间共享数据时 出现此错误 我对这个框架非常菜鸟 所以我希望这是一个简单的问题 但据我所知 它必须在框架上 因为我不在任何地方使用 UnmodifyingMap 如果有人遇到过这
  • 在 Mac 上安装 python igraph

    我执行了brew install homebrew science igraph当我执行时sudo pip3 install python igraph 我收到以下错误 Cannot find the C core of igraph on
  • 无法使用Linux服务启动Archiva 2.1.0

    我正在尝试在 Linux 上启动最近发布的 Apache Archiva v2 1 0 独立版 出于测试目的 该 zip 已解压缩在 opt archiva 2 0 文档说 http archiva apache org docs 2 1
  • 欢迎消息在网络聊天中不可见,但可以在模拟器中使用

    IConversationUpdateActivity update message using var scope Microsoft Bot Builder Dialogs Internals DialogModule BeginLif