Microsoft Bot Framework DirectLine 无法访问对话

2024-01-04

我正在尝试使用 Microsoft Bot Framework DirectLine API 读取消息并将其添加到其他用户和我的机器人之间的现有对话中。根据我所读到的内容,我相信使用主秘密时这应该是可能的,但它对我不起作用。我正在使用 WebAPI 尝试访问我现有的两个对话(在 Facebook 和 Skype 上),如下所示:

    [HttpPost]
    [Route("remind")]
    public string Remind()
    {
        var secret = System.Configuration.ConfigurationManager.AppSettings["secret"];

        var uri = new Uri("https://directline.botframework.com/");
        var creds = new DirectLineClientCredentials(secret);

        DirectLineClient client = new DirectLineClient(uri, creds);
        Conversations convs = new Conversations(client);

        var conversationIDs = new string[] { "0000000000000000-0000000000000000", "00:0123456789abcdefghijklmnopqrstuvwxyz0123456789-A-_0123456798ABCDEF" }; // Existing Facebook & Skype conversations

        // Send a message to each conversation:
        foreach (var conversationID in conversationIDs)
        {
            Message message = new Message(conversationId: conversationID, fromProperty: "My Bot", text: "Hey dude, remember that thing!");
            Console.WriteLine(message.Text);
            convs.PostMessage(conversationID, message); // FAILS - This executes but doesn't do anything.
        }

        // Try reading the messages from a conversation (just to test if it's working):
        string waterMark = null;
        var set = convs.GetMessages(conversationIDs[0], waterMark); // FAILS - This fails with a 404 not found.
        waterMark = set.Watermark;

        return "Done :-)";
    }

它会静默调用 PostMessage() 失败,并且 GetMessages() 失败并返回 404。我似乎做了正确的事情,该机器人是实时的,并且在 Facebook 和 Skype 中与 DirectLine API 分开运行得很好。仅当我使用 DirectLine API 创建新对话时它才有效,然后我可以访问其消息并向其发布新消息。

这个问题有点帮助,但并没有完全告诉我如何解决它:难以访问 Microsoft Bot Framework 中现有对话中的消息 https://stackoverflow.com/questions/36893418/difficulty-accessing-messages-in-an-existing-conversation-in-microsoft-bot-frame

任何帮助将非常感激。

Thanks


出于安全原因,您不能使用 DirectLine 来监视其他对话中的消息。对于您描述的场景(升级为人类),有多种不同的方法可以解决此问题。一种是让您的机器人代理帐户之间的对话(即 Facebook 最终用户 您的机器人 Facebook 支持人员)。每个用户都与机器人交谈,机器人将消息传递给另一个用户。 (也可能是 Facebook 用户 您的机器人 Skype 用户)您的机器人必须存储最后 n 条消息以提供上下文。或者,我看到人们使用位于远端的直线来构建自己的客户支持聊天界面。希望这可以帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Microsoft Bot Framework DirectLine 无法访问对话 的相关文章

  • 运行应用程序时.NET 3.5 JIT 不工作

    以下代码在 Visual Studio 内部运行该版本和在 Visual Studio 外部运行该版本时提供不同的输出 我正在使用 Visual Studio 2008 并面向 NET 3 5 我也尝试过 NET 3 5 SP1 在 Vis
  • C# - Visual Studio 中的 System.OutOfMemoryException

    我遇到问题 当我右键单击 Visual Studio 中的主窗体并转到 视图设计器 时 出现错误 它说 引发了 System OutOfMemoryException 类型的异常 堆栈跟踪 at System Reflection Asse
  • 无需登录即可在 Intranet 上获取 Web 应用程序的域\用户名

    我的 Intranet 上有一个 Web 应用程序 VS 2005 有几个页面不需要用户登录应用程序 反馈和默认页面 我正在尝试获取要显示和 或发送反馈的域名和用户名 有没有一种方法可以在不需要用户登录的情况下执行此操作 我试过了this
  • std::bind2nd 和 std::bind 与二维数组和结构数组

    我知道 C 有 lambda 并且 std bind1st std bind2nd 和 std bind 已弃用 然而 从C 的基础开始 我们可以更好地理解新特性 所以 我从这个非常简单的代码开始 使用int 数组s 第一个例子 与std
  • 静态 OpenCV 库中未定义的引用

    我有一个使用 OpenCV 3 1 的 C 项目 并且使用共享库可以正常工作 但现在我想使用静态库 位于项目目录中的文件夹中 来编译它 因为我希望能够在未安装 OpenCV 的情况下导出它 如果需要还可以编辑和重新编译 这次我重新编译了 O
  • ASMX Web 服务,测试表单仅在本地计算机上适用于一种 WebMethod

    我有一个正在测试的 ASMX WebService 并且在大多数方法上我都可以使用测试表单进行测试 然而 我确实有一种方法 测试表上写着 The test form is only available for requests from t
  • 如何部署包含第三方 DLL 文件的 C# 应用程序?

    首先 我对部署了解不多 我希望我的问题有意义 我需要将 C 应用程序安装 部署到多个桌面 它需要一个第三方 DLL 文件 一个 C 库 lpsolve55 dll 对于那些感兴趣的人 它是一个免费的 MIP LP 求解器 请参阅 lpsol
  • C# 实体框架我们应该使用 POCO.Id 还是仅使用 POCO 设置关系?

    我在服务方法中遇到一种情况 将 POCO 分配为另一个 POCO 的子对象无法按预期工作 我正在使用实体框架 4 public void ChangeOrderCurrency Currency currency order Currenc
  • 为什么我在 WinForms 列表框中得到“System.Data.DataRowView”而不是实际值?

    每当我运行代码并尝试查看highscore我在列表框中得到的只是System Data DataRowView 谁能明白为什么吗 Code MySqlConnection myConn new MySqlConnection connStr
  • 应用新设置时如何防止 GraphicsDevice 被丢弃?

    我的游戏窗口允许手动调整大小 这意味着它可以像任何其他普通窗口一样通过拖动其边缘来调整大小 游戏还利用了RenderTarget2D rt2d 在主 Draw 方法中设置主渲染目标 GraphicsDevice SetRenderTarge
  • += 运算符在 C++ 中是如何实现的?

    这是我一直在思考的一个问题 但从未找到任何资源来说明这个问题的答案 事实上它不仅是为了 也适用于它的兄弟姐妹 即 等等 当然不是 考虑这个例子 int a 5 a 4 this will make a 9 现在考虑等效表达式 a a 4 T
  • 如何解决文件被另一个进程使用的问题?

    我一直在 VS NET 2010 中调试 没有任何问题 但现在无法建造 我收到错误 Unable to copy file filename to bin Debug filename The process cannot access t
  • 这些工作队列标志意味着什么?

    在研究工作队列时 我遇到了内核中定义的工作队列标志和常量 我有以下我无法理解的疑问 这里的排水和救援到底是什么意思 WQ DRAINING 1 lt lt 6 internal workqueue is draining WQ RESCUE
  • 在 Windows 上使用 C/C++ 开发时省略 msvcr100.dll?

    是否可以在 Windows 上使用 C C 进行开发而不链接到 msvcr100 dll 我知道这是 Windows 的标准 c 库 但我想知道如果我没有安装 Visual Studio 或 Redistributable 软件包 我的计算
  • 如何使用 C# 将表格粘贴到 Ms-Word 文档的末尾

    我有一个预制的 Word 模板 其中有一个表格 我想打开它 然后在文档末尾添加 粘贴 另一个表格 问题是它不会转到文档的末尾 而是将新表格粘贴到原始表格的第一个单元格中 任何帮助将不胜感激 previous code copied a ta
  • 按 Enter 继续

    这不起作用 string temp cout lt lt Press Enter to Continue cin gt gt temp cout lt lt Press Enter to Continue cin ignore 或更好 in
  • 如何使 WinForms UserControl 填充其容器的大小

    我正在尝试创建一个多布局主屏幕应用程序 我在顶部有一些按钮链接到应用程序的主要部分 例如模型中每个实体的管理窗口 单击这些按钮中的任何一个都会在面板中显示关联的用户控件 面板包含用户控件 而用户控件又包含用户界面 WinForms User
  • 在 C# 窗口应用程序中运行 C/C++ 控制台应用程序?

    现在 我想开发一个简单的应用程序 因此我决定最快的编码方式是 C NET 但现在 我很难实现我需要的功能之一 我想做的是在 C 应用程序的窗口内运行 C C 控制台应用程序 就像在虚幻前端中一样 添加一点通信方式 以便我可以为控制台应用程序
  • 如何使用“路径”查询 XDocument?

    我想查询一个XDocument给定路径的对象 例如 path to element I want 但我不知道如何继续 您可以使用以下方法System Xml XPath Extensions http msdn microsoft com
  • 有没有办法在 C# 中仅通过文件名查找文件?

    我们现在使用绝对路径或相对路径在 C 应用程序中查找文件 如果文件位于当前工作目录下或 路径 之一下 有没有办法仅通过名称查找文件 使用绝对路径不好 使用相对路径也不够好 因为我们可能通过重命名或移动项目文件夹来更改项目结构 如果我们的代码

随机推荐

  • 如何在 VB.NET 中使用 MSHTML?

    在问题 的回答中56107 https stackoverflow com questions 56107 what is the best way to parse html in c Erlend 提供了这个示例 C 代码 using
  • 在 Spark 2.2 之前,表统计数据还有用吗?

    Spark 2 2引入了基于成本的优化 CBO https databricks com blog 2017 08 31 cost based optimizer in apache spark 2 2 html https databri
  • 如何帮助 gcc 向量化 C 代码

    我有以下 C 代码 第一部分只是将复数矩阵从标准读入矩阵中 称为M 有趣的部分是第二部分 include
  • 如何在eclipse中比较两种方法

    我想比较两个我认为相同的方法 但是 Eclipse 重构不会从它们的内容中提取方法 我可以使用 eclipse Compare 比较它们两个吗 这些方法属于同一类 我使用的是 Eclipse Kepler 因此根据您的版本 您的情况可能会有
  • XML XSD 命名空间问题

    我正在尝试使用银行帐户示例定义一个简单的 XML 和 XSD 文件 这是定义 XML 文件的 XSD
  • runOnUIThread 问题

    我正在使用列表视图创建一个下载管理器 它将通过进度条显示当前下载的内容 我可以知道如何更新进度条吗 例如 我有3节课 main class 是一个列表视图 mAdapter class 扩展了 ArrayAdapter mThread cl
  • 移动目标元素时不会触发单击处理程序

    考虑以下演示https stackblitz com edit angular pur1dt https stackblitz com edit angular pur1dt 我有反应式表单控件 带有同步验证器 当字段无效时 错误消息显示在
  • “pagerror.gif”的意义?

    我的网站上有一个名为 pagerror gif 的不存在文件受到奇怪的点击 从一些基本的谷歌搜索来看 它似乎是 Internet Explorer 在某些情况下查找的文件 任何人都可以验证这一点 也许还可以提供一些有关 IE 何时查找该文件
  • 分页编译问题:不确定如何将游标转换为该方法的返回类型

    我一直在尝试在 Android 架构组件中使用 google 提供的 Room 来实现分页库 但是它在我的中显示编译时错误UserDao Class 这是错误 Error 22 42 error Not sure how to conver
  • 多态成员变量指针的 std::map

    我正在努力实现与字符串键关联的成员变量指针的映射 所有变量的范围都来自基类 BaseA 当从映射中访问变量时 只需要使用基类方法 示例中的 getDesc 因此不需要检索原始类型 该代码在GNU g 6 2 1下编译并运行 但根据我读到的内
  • 从 PHP 调用 node.js 脚本不会返回任何内容

    我想做的事情在理论上很简单 但我无法完全让它发挥作用 我编写了一个简单的 node js 脚本 它使用request包异步获取一些数据 解析它 并将其吐出为 html 我想将此脚本集成到我客户位于共享主机上的基于 php 和 apache
  • 为什么在这种情况下会生成classname$1.class? [复制]

    这个问题在这里已经有答案了 我编写了以下代码来实现单例模式 public final class Test static final class TestHolder private static final Test INSTANCE n
  • SQL 检查列中的所有值

    我在 Oracle DB 中有下表 ID VALUE 1 1 1 2 1 3 2 1 2 2 3 1 3 2 3 3 4 1 如何选择具有全部 3 个值 1 2 3 的 ID 最简单的选择通常是这样的 SQL gt ed Wrote fil
  • 如何将数组写入nodejs中的文件并保留方括号?

    我想将矩阵写入 js 文件 当我使用 console log matrix 时 一切都很好 但是当我将其写入文件时 结果会有所不同 var fs require fs var matrix new Array 10 for var i 0
  • 在 Angularjs 中对基于 Promise 的代码进行单元测试

    我在尝试在 Angularjs 中测试基于 Promise 的代码时遇到了困难 我的控制器中有以下代码 scope markAsDone function taskId tasksService removeAndGetNext taskI
  • 重命名列正则表达式,如果不匹配则保留名称

    data First Column 1 2 3 Second Column 1 2 3 First Mid LAST Ending 1 2 3 First1 Mid1 LAST1 Ending 1 2 3 df pd DataFrame d
  • Doctrine 部分查询返回完整对象

    我正在尝试优化查询 因为我需要一个简单的列表作为附属于多个实体的实体 所以我创建了这个查询 你应该给我返回 id 和名称 public function findAllOrderByName qb this gt createQueryBu
  • 更改主题,例如 Fabric Web(默认/深色)

    在fabric的文档页面中 现在每个示例组件都有更改主题功能 IE example https developer microsoft com en us fabric controls web button 在此输入图像描述 https
  • Linux内核中的内存屏障是如何使用的

    内核源码Documentation memory barriers txt中有一个说明 如下所示 CPU 1 CPU 2 B 7 X 9 Y 8 C Y STORE A 1 STORE B 2
  • Microsoft Bot Framework DirectLine 无法访问对话

    我正在尝试使用 Microsoft Bot Framework DirectLine API 读取消息并将其添加到其他用户和我的机器人之间的现有对话中 根据我所读到的内容 我相信使用主秘密时这应该是可能的 但它对我不起作用 我正在使用 We