npm 包 bot-messenger-utils 使用教程

简介

bot-messenger-utils 是一个 npm 包,旨在提供 Facebook Messenger Bot 管理的工具集。它包含了常用的 Bot 管理 API,例如:发送文字、图片、视频、按钮等消息,获取用户资料等等。此外,它还提供了一些实用函数,例如:将图片 URL 转成 Base64 编码、格式化数据等等。

安装

使用 npm 安装 bot-messenger-utils,只需执行以下命令即可:

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

使用

安装完成后,我们需要将其引用到我们的代码中,例如:

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

BotUtils 是 bot-messenger-utils 的主要命名空间,我们可以通过它来调用其提供的函数和 API。

下面我们给出 bot-messenger-utils 的使用示例,我们编写一个简单的程序来向用户发送欢迎消息、文字消息和图片消息。

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

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

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

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

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

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

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

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

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

在这个例子中我们使用了 BotUtils 的 3 个函数,分别是:

  • generateAttachmentID(url: string): string:根据图片 URL 生成一个唯一的图片 ID。
  • getBase64FromURL(url: string): Promise<string>:将图片 URL 转成 Base64 编码。
  • uploadAttachment(data: string): Promise<string>:上传图片到 Facebook 并返回一个图片 ID。

下面我们来分别介绍一下这三个函数的功能和实现。

generateAttachmentID

这个函数的作用是根据一个图片 URL 生成一个唯一的图片 ID,我们可以通过这个 ID 来标识这个图片并在之后的消息发送中使用。

这个函数的实现非常简单,只需要使用 Node.js 内置的 crypto 模块即可:

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

getBase64FromURL

这个函数的作用是将一个图片 URL 转成 Base64 编码,并返回一个 Promise 对象。这个函数的实现有一些复杂,我们需要调用 request 模块来获取图片的二进制数据,再将这个数据转成 Base64 编码。

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

uploadAttachment

这个函数的作用是将一个 Base64 编码的图片上传到 Facebook,并返回一个图片 ID。

这个函数的实现比较复杂,我们需要使用另外一个 npm 包 request-promise-native 来发送图文消息 API 请求。具体的流程如下:

  1. 首先我们构建一个 Form Data 对象,将图片的 Base64 编码添加到里面。
  2. 然后我们使用 request-promise-native 发送一个 POST 请求到 Facebook 的 API,将图片的 Base64 编码上传到 Facebook 并返回一个 attachment_id。
  3. 最后我们将这个 attachment_id 返回给调用方。

下面是 uploadAttachment 的实现代码:

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

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

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

结论

bot-messenger-utils 是一个非常实用的工具包,它大大简化了开发 Facebook Messenger Bot 的难度。在本文中我们介绍了 bot-messenger-utils 的使用方法和原理,并介绍了它提供的三个主要函数的实现细节,希望可以帮助大家更加深入地了解 Facebook Messenger Bot 的开发流程。

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


猜你喜欢

  • npm 包 flexgl 使用教程

    在前端开发过程中,如何快速构建高性能的图形界面是一个关键问题。flexgl 是一个基于 WebGL 的高性能绘图库,可以快速构建复杂的图形界面,并具有出色的渲染效果。

    3 年前
  • npm 包 hook-groups 使用教程

    在前端开发中,我们经常需要使用 React 的生命周期钩子函数来优化页面渲染,而 hook-groups 就是一款可以方便管理钩子函数的 npm 包。本文将为大家介绍如何使用 hook-groups,...

    3 年前
  • npm 包 okei 使用教程

    介绍 okei 是一个简单而功能强大的工具,专门用于前端开发中的开发过程中的细节处理。它使用 Node.js 平台开发,常常被用于构建、编译、测试和打包项目代码。该 npm 包不仅能够提升你的工作效率...

    3 年前
  • npm 包 react-app-rewire-host 使用教程

    前言 react-app-rewire-host 是一款非常实用的 npm 包,可以帮助前端开发者在 React 应用中更加方便地设置主机名称。通过使用该包,开发者可以轻松切换开发和生产环境的主机名称...

    3 年前
  • npm 包 adhoc-antd-tools 使用教程

    作为前端开发者,我们经常需要使用各种工具来提高工作效率和代码质量。其中,npm 是目前最流行的包管理工具之一,而 adhoc-antd-tools 是一款专门为 antd 组件库开发的工具库,可以帮助...

    3 年前
  • npm 包 polly-tts 使用教程

    在前端开发中,语音播放和文字转语音功能越来越受到重视。在这个方面,使用 Amazon Polly 是一个不错的选择。Polly 为开发者提供了一套完全托管的 API,可将文本转换为自然语音。

    3 年前
  • 使用 redux-riot 框架构建高效前端应用

    在前端开发过程中,一个好的框架可以节省我们大量时间和精力,同时还能保证应用的高效性和稳定性。在众多前端框架中,Redux 和 Riot 分别因为其简洁高效和可扩展性而备受欢迎。

    3 年前
  • npm 包 apkreader 使用教程

    前言 随着移动应用的普及,Android 应用程序包(APK)已成为很多开发者必须涉及的一部分。对于前端开发人员来说,有时候需要获取 APK 文件中的某些信息,如应用名称、版本号、权限等等。

    3 年前
  • npm 包 command-irail 使用教程

    介绍 command-irail 是一个基于 Node.js 平台的 npm 包,提供了一个命令行工具,帮助用户方便地查询铁路运输信息,例如站点、车次、票价、时刻表等信息。

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

    React Native 是一款 Facebook 推出的跨平台移动应用框架,它允许开发者使用 JavaScript 和 React 构建安卓和 iOS 应用。Azure Storage 是微软在云计...

    3 年前
  • npm 包 ng2-Toast 使用教程

    在前端开发中,Toast 是一个非常重要的提示消息组件。在 Angular 开发中,有一款非常优秀的 Toast 组件是 ng2-Toast。本文将介绍如何通过 npm 安装和使用 ng2-Toast...

    3 年前
  • npm 包 node-red-contrib-diode 使用教程

    前言 在前端开发中,我们经常需要使用 JavaScript 来驱动页面的逻辑。而随着 Web 应用的复杂化,不同的模块之间需要进行数据的传递和处理,这就需要我们运用到 node.js 完成后台的逻辑实...

    3 年前
  • npm 包 validate-commit-msg-bot 使用教程

    在现代的软件开发过程中,Git 非常流行,并且代码逐渐趋向于公开化、协作化。因此,规范的 commit message 尤为重要,利于团队协作和代码版本管理。而 validate-commit-msg...

    3 年前
  • npm 包 theme-cdj 使用教程

    “theme-cdj” 是一款能够让你快速打造个人网站或博客风格,兼容各种前端框架的主题样式 npm 包。无需进行任何配置,只需下载安装即可即可开始使用。 安装 首先,在终端中运行如下命令进行安装...

    3 年前
  • npm 包 hello-world.npm 使用教程

    介绍 npm 是 Node.js 的包管理工具,它使得 JavaScript 开发者可以轻松地共享代码和模块。在这篇文章中,我们将介绍如何使用 npm 包 hello-world.npm。

    3 年前
  • npm 包 eth-commander 使用教程

    这篇文章介绍了使用 npm 包 eth-commander 的详细步骤和使用技巧。eth-commander 是一个 Node.js 的命令行工具,可用于快速创建和部署以太坊合约。

    3 年前
  • npm 包 jsparsec 使用教程

    什么是 jsparsec jsparsec 是一个轻量级的解析库,用于对 JavaScript 代码进行解析。它提供了一些常用的解析器,让我们可以方便地将 JavaScript 代码转化为计算机易于理...

    3 年前
  • npm 包 opensistemas-parser 使用教程

    前言 在进行前端开发时,我们经常需要解析一些数据或者格式化数据的需求。这时候,我们可以使用一些现有的解析工具来进行数据处理,省去了我们重新造轮子的时间。本篇文章就是介绍一款 npm 包 opensis...

    3 年前
  • npm 包 mxw-robot 使用教程

    前言 在前端开发过程中,我们常常需要使用一些第三方库来辅助我们完成某些任务,而 npm 就是管理这些第三方库的工具。其中,mxw-robot 是一款非常实用的 npm 包,可以帮助我们更便捷、高效地进...

    3 年前
  • npm 包 reduce-redux 使用教程

    在前端开发中,使用 Redux 管理应用的状态已成为常规操作。不过,由于 Redux 的状态管理是一个纯函数,使用时需要交给我们自己去实现,这给开发带来了一定的复杂性和工作量。

    3 年前

相关推荐

    暂无文章