npm 包 botbuilder-markdown 使用教程

阅读时长 5 分钟读完

介绍

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

纠错
反馈