npm 包 botbuilder-markdown 使用教程

介绍

botbuilder-markdown 是一个用于 Microsoft Bot Framework 的 npm 包,它提供了将 Markdown 格式的文本解析成符合 Bot Framework 要求的 Activity 的功能,从而更方便地构建聊天机器人。

本文将介绍 botbuilder-markdown 的使用方法,包括安装与配置、解析文件和字符串、Bot Framework 集成等。

安装与配置

首先需要安装 botbuilder-markdown 包,可以使用 npm 安装命令:

--- ------- -------------------

接着在代码中引入 botbuilder-markdown:

----- ------------------ - --------------------------------------------------

botbuilder-markdown 提供了两个方法:markdownToAttachment 和 markdownMiddleware。前者接受一个字符串作为参数,返回一个 Activity,后者则返回一个 Express 中间件函数用于处理消息。

在 Bot Framework 中使用 botbuilder-markdown,只需要将 botbuilder-markdown 返回的中间件函数传入 bot 的 use 方法中即可。

----- - --------------- - - ----------------------

----- --- - --- ------------------
------------------------------

现在 bot 就可以处理 Markdown 格式的消息了!

解析 Markdown

botbuilder-markdown 由两部分组成:解析器和生成器。解析器将一个 Markdown 文件或字符串解析成一个 AST(抽象语法树),生成器根据 AST 构建出符合 Bot Framework 要求的 Activity。

解析器

首先是解析器。botbuilder-markdown 提供了两个解析器:一种解析文件,另一种解析字符串。

解析文件:

----- - ---------------------- - - -------------------------------

----- -------- - ---------------------------------------

解析字符串:

----- - ------------------ - - -------------------------------

----- -------- - --------------------- ------ ---------

markdownToActivity 和 markdownFileToActivity 接受一个字符串作为参数,返回一个 Activity 对象。

生成器

完成解析后,需要将生成的 AST 转换为符合 Bot Framework 要求的 Activity。

这里提供了 markdownToAttachment 方法用于在框架中构建并返回 Activity。

----- - -------------------- - - -------------------------------

----- -------- - -----------------
-------------------- - ---------------------------------------

示例代码

----- - --------------- - - ----------------------
----- ------------------ - --------------------------------------------------
----- - -------------------- - - -------------------------------

----- --- - --- ------------------

------------------------------

------------------- --------- ----- -- -
  ----- -------- - -----------------

  -- -------------- -- ------------- --- ----------- -
    ----- -------------- - -
      - ------ ------

      ---- -- - -------- ----- --- ---- -- - -------- -----

      -- ----

      - ---- -
      - ---- -
      - ---- -

      -- -----

      ---- -- - ---------------------------------

      -- ----

      ----------------
      ----- --- - ------
      -----------------
      ------
    --

    -------------------- - ---------------------------------------
    ----- -------------------------------
  - ---- -
    ----- -------
  -
---

通过上述示例代码,当用户发送关键词 markdown 时,bot 将返回一条具有 Markdown 格式的消息。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005673981e8991b448e3bda


猜你喜欢

  • npm 包 react-native-rtmp 使用教程

    如果你正在做一个直播播放器或者 RTMP 流媒体相关的项目,那么你肯定需要使用到 RTMP 相关的工具库。本文将介绍一个非常实用的 npm 包:react-native-rtmp,这个包可以用于在 R...

    3 年前
  • NPM 包 remove-route-runtime 使用教程

    简介 现代 Web 应用程序使用单页应用程序(SPA)框架来优化性能和用户体验。这些框架在导航期间使用路由来在不刷新页面的情况下更改 URL。在某些情况下,可能需要从 URL 中删除特定路由。

    3 年前
  • NPM 包 arrest-legacy 使用教程

    简介 arrest-legacy 是一个用于检查遗留代码中是否含有 console、alert 等危险代码的 NPM 包。该包可以帮助前端开发者在开发过程中及时发现遗留代码中的问题,提高代码质量和安全...

    3 年前
  • npm 包 vue-image-crop-upload-2 使用教程

    vue-image-crop-upload-2 是一个 Vue.js 的图片裁剪上传组件。它可以帮助我们简化图片上传和裁剪的流程,方便用户上传裁剪后的图片。 本文将详细介绍该组件的使用方法,包括安装、...

    3 年前
  • npm 包 getanjay 使用教程

    在前端开发中,我们经常会用到各种各样的包来加快开发速度,npm 是一种常用的 JavaScript 包管理工具,可以帮助我们快速获取和安装常用包。其中一个非常有用的包是 getanjay,它是一个用于...

    3 年前
  • npm 包 knex-ufg 使用教程

    首先让我们了解一下什么是 Knex。Knex 是一个基于 Node.js 的 SQL 查询构建器,可用于 PostgreSQL,MySQL,MariaDB,SQLite3 和 Oracle。

    3 年前
  • npm 包 where-pg 使用教程

    本文介绍了如何使用 npm 包 where-pg 对 PostgreSQL 数据库进行查询。其中,我们会讲解使用 where-pg 的方法、常见查询技巧,并提供代码示例以便读者更好的理解和学习。

    3 年前
  • npm 包 fusionjs 使用教程

    介绍 FusionJS 是一款基于 React 的 Web 开发框架,具有快速、低开销的渲染性能和更好的开发体验等优点。通过 FusionJS,开发者可以轻松创建具有可靠性、可扩展性和易维护性的 We...

    3 年前
  • npm 包 leaflet-ais-tracksymbol-by-akora 使用教程

    介绍 leaflet-ais-tracksymbol-by-akora 是一个基于 Leaflet 的 npm 包,用于在 Leaflet 地图上显示 AIS 船舶轨迹。

    3 年前
  • npm 包 dir-load 使用教程

    在前端开发中,我们经常会遇到需要按需加载文件、目录的需求。npm 包 dir-load 可以帮助我们实现这一需求,本文将对 dir-load 的使用方法进行详细介绍。

    3 年前
  • npm 包 redux-form-actions-draftjs 使用教程

    在前端开发中,表单是非常常见的元素,而表单中输入的内容多样性也非常大,比如文本、数字、图片、富文本等。在 React 项目中使用 redux-form 库可以方便地创建表单,而配合 draft-js ...

    3 年前
  • npm 包:candlesticks 使用教程

    在前端开发中,数据可视化是一个非常重要的领域。其中,绘制 K 线图是非常常见的需求。而 candlesticks 就是一个可以生成 K 线图的 npm 包。 本篇文章将详细介绍 candlestick...

    3 年前
  • npm 包 epbdjs-cli 使用教程

    什么是 epbdjs-cli? epbdjs-cli 是一个开源的命令行工具,旨在帮助前端程序员更方便地开发、测试和部署 React 应用程序。它提供了一组常用的任务,如生成新项目、自动化构建和打包、...

    3 年前
  • npm 包 latlon-to-xyz 使用教程

    随着计算机技术日新月异的发展,Web 开发也变得越来越流行。而前端开发则是其中最重要的分支之一。如果您是一位前端开发者,那么您可能会需要使用到一个名为 latlon-to-xyz 的 npm 包。

    3 年前
  • npm 包 justo.plugin.kill 使用教程

    npm 是 Node.js 的包管理器,方便前端开发者共享、安装和更新 JavaScript 包。其中,justo.plugin.kill 是一个可以帮助开发者杀死进程的 npm 包,在开发过程中能够...

    3 年前
  • Ngx-Library-Ameeya 使用教程

    在前端开发中,包管理工具是不可或缺的。其中 npm 是最受欢迎的包管理工具之一。它提供了大量的包供我们选择,帮助我们更高效的开发。 在这篇文章中,我们将讨论一个非常有用的 npm 包—— Ngx-Li...

    3 年前
  • npm 包 react-native-umb 使用教程

    介绍 react-native-umb 是一个针对 React Native 开发的 UI 库,它提供了一系列可配置的组件和样式来帮助开发者更快速地搭建 UI 界面。

    3 年前
  • npm 包 @kevinahuber/redux-tooltip 使用教程

    介绍 @kevinahuber/redux-tooltip 是一个基于 React 和 Redux 的轻量级提示工具。它可以通过鼠标悬停在特定元素上触发提示,还可以通过单击或双击来展示和隐藏内容。

    3 年前
  • npm 包 version-encoder 使用教程

    本文将介绍 npm 包 version-encoder 及其使用方法。version-encoder 是一个用于编码和解码版本号的工具库,可以将版本号转换为数字,并且支持自定义分隔符。

    3 年前
  • npm 包 react-native-rtsp 使用教程

    引言 在前端开发中,使用 React Native 开发移动端应用已经成为了主流。而在一些特定场景下,我们需要使用 RTSP (Real Time Streaming Protocol) 协议来传输音...

    3 年前

相关推荐

    暂无文章