npm 包 Hubot-puppet-utils 使用教程

Hubot 是一个极为出色的聊天机器人框架,在自己公司内部也是广泛应用的,但是它要对原生协议都需要进行一定的包装,对于开放式协议系统,只能使用 puppet 外挂,hubot 最常用的 puppet 是 irc,但是如果你的公司没有人用 irc 那么也只能自己造轮子了。

这里介绍一款 npm 包 Hubot-puppet-utils,它是 Hubot 的协议转化桥梁,通过它,使用者可以将自己的 Hubot 部署到使用不同协议的场景下,并且无需知晓原始协议的信息。

安装

使用 npm 包管理工具安装即可轻松部署:

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

使用方法

我们这里以微信协议为例,说明如何使用 Hubot-puppet-utils。

首先,我们需要先安装 Wechaty, 它是一个开放的聊天机器人框架,能够支持多个微信号的同时操作。

要将 Hubot 与 Wechaty 集成,需要先在项目中引入 Wechaty:

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

引入 puppet 之后,如下所示即可完成协议的转化:

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

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

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

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

当用户发送消息时,可以通过如下代码进行处理:

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

当然,用户也可以使用闲聊的方式启用 Hubot,只需要执行:

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

例子

下面举一个具体的例子,演示如何使用 Hubot-puppet-utils。

准备工作

首先,我们需要上文中提到的 WechatyPuppet,它需要一个 token 作为身份验证,并且它支持多种协议,包括 wechat4u 和 padplus 等。

创建 WechatyPuppet 示例:

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

接着,我们还需要创建一个 Hubot 实例:

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

消息处理

为了方便起见,我们这里使用了 express 作为 web 应用框架。

在消息到达的时候,通过如下代码进行处理:

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

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

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

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

这样用户便可以通过微信消息发送信息到我们的 API 系统中。

命令处理

在上述代码的基础之上,我们还可以为 Hubot 编写命令以处理用户的输入,如:

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

当用户发送消息 /hubot hello 时,系统将回复 Hello, xxx

总结

通过 Hubot-puppet-utils,我们可以将 Hubot 部署到不同的聊天机器人协议平台中,并且只需要通过配置来完成协议的转换。

如果您的公司已经在使用 Chatbot 或者是进行 Chatbot 相关的业务研究,那么使用 Hubot-puppet-utils 将会是极大地减少研发成本并且提高效率的选择。

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


猜你喜欢

  • npm 包 japan-train-data 使用教程

    介绍 japan-train-data 是一个用于获取日本铁路时刻表数据的 npm 包。利用此包,我们可以方便地获取到日本铁路时刻表数据,以便开发和研究。 使用方法 安装 使用 npm 安装 japa...

    2 年前
  • npm 包 kube-js 使用教程

    前言 Kubernetes 是目前最流行的容器编排工具之一,它提供了强大的微服务架构管理能力。然而,开发人员需要使用这些工具来管理容器的运行时,通常需要进行大量的手动工作。

    2 年前
  • npm 包 of-webpack-zepto 使用教程

    前言 作为一名前端开发人员,我们最常使用的工具莫过于 npm 包管理器。使用 npm 可以方便地搜索、安装以及管理各式各样的前端插件和库。而本篇文章介绍的是一款非常实用的 npm 包,that is ...

    2 年前
  • npm 包 condor-mongoose-test-utils 使用教程

    简介 condor-mongoose-test-utils 是一个使用方便的 Node.js 模块,可以帮助开发人员更轻松地测试 MongoDB 与 Mongoose 模型。

    2 年前
  • npm 包 fis3-glsl 使用教程

    简介 在前端制作过程中,我们可以使用 WebGL 技术创建 3D 图形及各种视效。WebGL 渲染需要使用 GLSL 语言进行编写,而 fis3-glsl npm 包则可以帮助开发者在 fis3 的项...

    2 年前
  • npm 包 hapi-nextjs 使用教程

    hapi-nextjs 是一个运行在 Node.js 和 Next.js 上的 npm 包,它提供了一种简单快捷的方式将 Next.js 应用程序集成到 hapi 框架中。

    2 年前
  • npm 包 detect-jxa 使用教程

    在前端开发领域,我们经常需要使用各种工具和库来辅助我们开发。而其中一个非常重要的工具就是 npm,它是一个包管理器,提供了许多便利的功能。在本篇文章中,我们将介绍如何使用 npm 包 detect-j...

    2 年前
  • npm 包 louloue-calendar 使用教程

    前端开发中,我们需要用到各种各样的插件和库来帮助我们完成项目。louloue-calendar 就是一个非常实用的日历插件,支持日历的展示、选择日期等功能。在本文中,我们将介绍该插件的使用方法以及注意...

    2 年前
  • npm 包 scope-types 使用教程

    随着前端技术的不断发展,越来越多的 JavaScript 库和框架被开发出来并在 npm 上发布。为了避免不同的库之间出现命名冲突的情况,npm 引入了作用域(Scope)的概念,每个 npm 用户都...

    2 年前
  • NPM 包 Administration 使用教程

    NPM Packaging 是一种传统的方法,允许开发人员在项目中共享代码和其他资源。NPM 是一个巨大的 JavaScript 包管理器,提供了数百万个可用包。在这篇文章中,我们将介绍如何使用 np...

    2 年前
  • npm 包 page-webpack-plugin2 使用教程

    简介 page-webpack-plugin2 是一个强大的 webpack 插件,可以帮助前端开发者快速搭建一个多页面且高可用的前端项目。该插件能够自动生成多个 HTML 页面,并支持多种配置和自定...

    2 年前
  • npm 包 pizzaway 使用教程

    在前端开发过程中,我们经常会需要引入一些第三方库或框架来协助开发。而 npm 是目前最流行的 JavaScript 包管理工具,拥有着丰富的依赖库和包。本文将介绍一款名为 pizzaway 的 npm...

    2 年前
  • npm 包 inferno-animate-css 使用教程

    在前端开发中,动画效果在提升用户体验方面发挥着至关重要的作用。inferno-animate-css 是一个能够实现动画效果的 npm 包,它提供了大量的动画效果,使用简便,适用于多种 web 应用。

    2 年前
  • liplattaa-golden-layout 使用教程

    在前端开发中,展示数据是其中非常重要的一项任务。在前端开发的任务中,框架和插件是非常重要的辅助工具。而其中一个比较常用的模块化应用工具就是 npm 包。这里我们将为大家介绍一个非常优秀的 npm 包,...

    2 年前
  • npm 包 iptools-offcanvas 使用教程

    在前端开发中,我们经常会需要使用一些库或工具来提高我们的开发效率或增强页面交互效果。在这时候,npm 包就成了一个必不可少的资源。本文将介绍一个名为 iptools-offcanvas 的 npm 包...

    2 年前
  • npm 包 @haiticss/haiticss 使用教程

    在前端领域,有很多开发者在使用各种工具、框架和库来简化及加速开发流程,其中 npm 包是最常用的一种方式之一。而 @haiticss/haiticss 就是一款非常优秀的 npm 包,它提供了一种简单...

    2 年前
  • npm 包 ember-cli-summernote2 使用教程

    前言 ember-cli-summernote2 是一款基于 jQuery 插件 summernote 封装的适配 Ember.js 框架的富文本编辑器。使用 Ember.js 开发 SPA(Sing...

    2 年前
  • npm包express-postgres-sp使用教程

    #npm包express-postgres-sp使用教程 作者: XX 日期: 2021-08-20 前言 在前端开发中,我们经常需要使用到数据库来存储数据。PostgreSQL是一个十分强大的关系型...

    2 年前
  • npm 包 formbot 使用教程

    在前端开发中,表单是我们最常使用的组件之一。但是,表单不仅仅是简单的输入框和按钮的组合,它还包含了复杂的验证、数据处理以及交互等功能。这就需要我们使用一些表单处理的工具来提高开发效率。

    2 年前
  • npm 包 geojson-tile-cache 使用教程

    在前端数据可视化开发中,地理位置信息的处理十分重要。很多地图库都需要加载 GeoJSON 类型的数据,但是直接将整个 GeoJSON 文件作为数据源显然会导致加载速度变慢。

    2 年前

相关推荐

    暂无文章