【问题标题】:How to display HTML table inside a chat window with options & buttons in it using Microsoft BOT Framework V4 template using C#?如何使用 C# 使用 Microsoft BOT Framework V4 模板在聊天窗口中显示带有选项和按钮的 HTML 表格?
【发布时间】:2020-01-08 00:57:56
【问题描述】:

如何在使用 C# 通过 Microsoft BOT 框架创建的网络聊天机器人中显示带有选项和按钮的聊天窗口内的 HTML 表格?

我正在使用具有多个对话框类的瀑布对话框开发聊天机器人,其中每个类根据网络聊天窗口中选择的选项执行特定任务。

我需要在网络聊天机器人窗口中显示一个表格,以便显示一个带有 TH、TD 和 TR 的 HTML 表格,并且每一行在每行的一个列中都有特定的按钮,这样点击时按钮就会消失具体操作?

这样可以吗?还是错误的期望?

如果可以做到这一点,是否使用自适应卡片只是一个选项,或者我们实际上可以在直接显示到网络聊天机器人中的流编写器中显示在 C# 程序中创建的 HTML 表?

由于我是 C# 编码和 BOT 的新手,请以逐步详细的指导方式尽可能详细地帮助解决此问题。

机器人是使用以下方法构建的: 语言:C# SDK : V4 模板 框架:微软机器人框架

当搜索得到使用列集选项使用自适应卡片的答案时,想知道我们是否可以通过实际直接在流中构造 HTML 内容并在 WebChat Bot 中显示表格来做到这一点。

【问题讨论】:

    标签: c# botframework bots chatbot


    【解决方案1】:

    默认情况下,网络聊天使用markdown-it npm 包来呈现传入的活动。默认渲染器未配置为处理 HTML,因此您将无法在开箱即用的活动中发送 HTML 表格;但是,您可以实现自己的支持 HTML 的 Markdown 渲染器,并将其作为道具传递给网络聊天。

    const markdownIt = new MarkdownIt({ html: true, linkify: true, typographer: true });
    const renderMarkdown = text => markdownIt.render(text);
    
     ...
    
    window.WebChat.renderWebChat({
      directLine: window.WebChat.createDirectLine({ token }),
      renderMarkdown
    }, document.getElementById('webchat'));
    

    有关更多详细信息,请查看 GitHub 上 Web Chat Repo 中的 issue。

    【讨论】:

    • :感谢您的投入和时间,但是如何将其转换为 es5 包?并且是否需要安装任何其他软件包才能使其正常工作?如果需要额外的包,可以从 NuGet 或其他任何地方下载吗?
    猜你喜欢
    • 2018-03-07
    • 1970-01-01
    • 2019-04-22
    • 2018-03-10
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    相关资源
    最近更新 更多