npm 包 bootbot-pl 使用教程

npm 包 bootbot-pl 使用教程

如果你是一名前端工程师,想要快速搭建一个聊天机器人,那么 npm 包 bootbot-pl 就是你的最佳选择。bootbot-pl 是基于 bootbot 稳定版本开发而来的,它可以让你轻松地创建一个 Messenger Bot,是一个完整的框架,提供了繁多的功能和插件,如文本、图片、音频、视频等消息类型,同时还支持会话管理和模板消息。接下来,我们就来一步步学习如何使用它来开发你自己的聊天机器人。

安装

使用 npm 命令安装 bootbot-pl

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

如之前提到的,bootbot-pl 是基于 bootbot 稳定版本,因此在使用 bootbot-pl 的过程中,同时也需要安装 bootbot

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

快速开始

在你创建一个 Messenger Bot 并注册一个 Facebook App 的前提下,你需要先获取到你的 Facebook Access Token 和 Verify Token。Facebook Access Token 可以在你的 Facebook 开发者后台中的 Dashboard > Products > Messenger 中找到。Verify Token 是你的 Messenger Bot 验证的 Token,可以自定义。接着,我们就来编写我们的第一个 Messenger Bot 代码:

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

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

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

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

上述代码中,我们通过 require 引入了 bootbot-pl 模块,并实例化了一个 BotBot 对象 botaccessTokenverifyTokenappSecret 分别代表 Access Token、Verify Token 和 App Secret,这些参数需要你根据你自己的 Facebook 应用填写。其中,hear 对应了 “聆听” 某个关键词,一旦聊天机器人收到用户发送的任意消息包含这些关键词,就会触发回调函数,这里是回复 “你好,user.first_name!”。最后,我们调用 start 方法来启动我们的 Messenger Bot。

插件

bootbot-pl 还提供了许多内置的插件,可以帮助我们快速实现一些功能。以下是一些实用的插件例子:

1. Slack Plugin

如果想要用机器人在 Slack 上进行通信,可以使用 SlackPlugin

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

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

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

通过传递 accessTokensigningSecretwebhook 三个参数初始化 SlackBot,并将其作为插件引入 Messenger Bot 中。

2. Conversation Plugin

如果你想要实现一个有会话的聊天机器人,可以使用 ConversationPlugin

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

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

这里创建了一个会话:“meeting”,并通过 ask 方法提出一个问题,“你想见面的事情是否达成一致呢?”。当用户回答“no_meeting”时,聊天机器人回应“感觉有点怪怪的,还是不见面了”,并结束问答。

3. Command Plugin

如果你想要实现用户可以通过命令控制机器人,可以使用 CommandPlugin

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

这里使用 command 方法监听命令 “/fibo”,并从 payload 中提取出 fibo 后面的数字,计算出相应的斐波那契数列,最后通过 chat.say 回复给用户。

总结

随着 Messenger Bot 的需求增加,使用 bootbot-pl 来开发 Messenger Bot 会变得越来越流行,因为它简单、易用、实用,而且可以通过插件自定义开发所需的功能。在未来,Messenger Bot 的使用范围将会越来越广泛,使用 bootbot-pl 至关重要,相信本文介绍的内容能够对你有所帮助。

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


猜你喜欢

  • npm 包 postcss-flextype 使用教程

    在前端开发过程中,我们经常面临调整字体大小的问题。通常情况下,我们使用 CSS 的 font-size 属性来控制字体大小。不过在某些情况下,我们需要对字体大小进行更细粒度的控制,例如在响应式设计中。

    2 年前
  • npm 包 tasklist-stream 使用教程

    在前端开发中,我们经常需要运行多个任务同时进行,这时候需要使用 tasklist-stream 这个 npm 包来管理任务列表。本文将会详细介绍如何使用该包来实现前端开发中多任务管理。

    2 年前
  • npm 包 @nikches/vanilla-text-mask 使用教程

    在前端开发中,文本输入框的输入内容需要格式化的场景经常出现。@nikches/vanilla-text-mask 是一个针对输入框内容格式化的 npm 包。本文将详细介绍如何使用这个包以及它的实现原理...

    2 年前
  • npm 包 create_github_commit 使用教程

    前言 当我们在开发一个应用程序,需要上传至 GitHub 平台时,我们通常会将代码推送至仓库中,并创建一个提交(commit)。但是,如果我们频繁地进行开发,就需要频繁地执行推送和提交操作,这样会很麻...

    2 年前
  • npm 包 hyperterm-dark-fusion 使用教程

    前言 在前端开发的过程中,不仅需要熟练使用常见的开发工具和技术,还要不断地去寻找和运用优秀的 npm 包来提高开发效率和代码质量。本文介绍了一款名为 hyperterm-dark-fusion 的 n...

    2 年前
  • npm 包 immutable-redux-crud 使用教程

    简介 immutable-redux-crud 是一个基于 Redux 和 Immutable.js 的 npm 包,它提供了一种简单且可扩展的方式来处理复杂的 CRUD 应用程序。

    2 年前
  • npm 包 pragma-port 使用教程

    简介 在前端开发中,我们经常需要将 JSX 语法转换成 JS 代码。通常情况下,我们使用 Babel 工具来实现这个功能。然而,在某些情况下,我们不想为了一个简单的转换操作而去引入 Babel。

    2 年前
  • npm 包 react-native-stacktrace 使用教程

    简介 react-native-stacktrace 是一个 React Native 应用程序的调试工具,它可以帮助开发者快速定位应用程序中的异常错误,并提供详细的调用堆栈信息以及代码行数等相关信息...

    2 年前
  • immutable-redux-relationships 使用教程

    如果你正在开发 React 应用并使用 Redux 进行状态管理,那么你一定知道 Redux 中 store 的设计理念是不可变的。 不可变状态的一个好处是,我们可以通过比较对象及其值是否相等来判断两...

    2 年前
  • npm 包 login-with-amazon 使用教程

    随着互联网的发展和人们需求的增加,越来越多的网站和应用开始采用第三方登录,其中包括 Amazon 的登录。为了方便开发者接入 Amazon 登录,npm 社区开发了一个名为 "login-with-a...

    2 年前
  • npm 包 sourcejs-sass 使用教程

    在前端开发中,Sass 是一种非常强大的 CSS 预处理器,在帮助我们更高效地编写 CSS 的同时,还提供了众多的有用特性。而 sourcejs-sass 则是一个在 Sass 中使用 SourceJ...

    2 年前
  • npm 包 @cross-border-bridge/data-channel 使用教程

    简介 @cross-border-bridge/data-channel 是一个开源的 npm 包,用于在前端应用和后端服务器之间实现数据传输通道。它基于 WebSocket 协议实现,支持全双工通信...

    2 年前
  • npm 包 @cross-border-bridge/data-bus 使用教程

    前言 在现代互联网应用开发中,数据通信是必不可少的核心问题。而在一个复杂场景中,数据之间的交互会变得相当棘手。尤其当涉及多个组件、多层数据传递、多个用户等时,数据流程变得更加复杂,因此我们需要一种有效...

    2 年前
  • npm 包 promise-maker 使用教程

    前置知识 在学习使用 promise-maker 之前需要掌握以下知识: ES6 Promise JavaScript 中函数的概念 JavaScript 中的回调函数 什么是 promise-m...

    2 年前
  • npm 包 siren-builder 使用教程

    Siren 是一种超媒体格式,它描述了 Web 应用程序中资源之间的关系。Siren 不仅包含了一个资源的属性,还包含了它与其他资源的联系方式,因此在 Web 应用程序中具有广泛的应用。

    2 年前
  • npm 包 better-picker 使用教程

    前言 在前端开发中,我们经常需要使用到日期-picker、城市-picker等选择器。市面上也有很多不错的插件,但是大多数插件都有样式问题,而且很难定制。而 better-picker 就是一个非常不...

    2 年前
  • npm 包 json-tokenize 使用教程

    在前端开发中,我们经常需要处理各种数据格式,其中最常用的一种就是 JSON。而在处理 JSON 数据时,有时我们需要将其切分成一系列的 token,以方便后续的处理。

    2 年前
  • npm 包 torr-share 使用教程

    如果你曾经写过前端应用的时候,肯定会碰到需求是要实现文件分享的场景。传统的做法是借助后端实现文件上传和下载,但是在某些场景中,如互联网上的文件分享,我们不一定能够访问后端服务。

    2 年前
  • npm 包 generator-quark 使用教程

    前言 如果您是一名前端工程师,那么您一定非常熟悉 npm,因为它是前端开发中最重要的包管理工具之一。在 npm 上有数以万计的包,可以减轻我们的开发负担,提高我们的效率。

    2 年前
  • npm 包 homebridge-min-temperature-log 使用教程

    简介 在智能家居中,温度是一个非常重要的指标。homebridge-min-temperature-log 是一个用于 homebridge 的 npm 包,它可以帮助你记录家中的最低温度,并将数据保...

    2 年前

相关推荐

    暂无文章