npm 包 Hubot-puppet-utils 使用教程

阅读时长 5 分钟读完

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

纠错
反馈