Hubot:来自 GitHub 的聊天机器人

  • 张天雷

2015 年 6 月 1 日

话题:GitHub语言 & 开发架构

Hubot是 GitHub 的开源聊天机器人,前身主要用来在该公司的在线聊天室里完成一些自动的任务,随着自动任务的不断增多,Hubot 在 GitHub 使用频率也日益增加,它成了公司办公不可获取的帮手。本着帮助更多团队的目标,GitHub 决定将其重构并开源。发布后短短三个月来,受到了程序员群体的广泛关注,得到超过了 8 千个 Star,超过两百人贡献代码,多达 1 千 5 百多次提交。

Hubot 采用 Node.js 上的 CoffeeScript 实现,可以很容易部署到 Heroku 等云计算平台。目前 Hubot 原生的功能有发布图片、翻译、地图服务等,更多自定义插件可以参考 Github 的另一个相关开源项目。更有趣的是,Hubot 支持用户自定义插件脚本并相互分享,且支持数十种已有聊天软件,还支持用户自行开发插件,以支持更多聊天软件。更加详细的插件开发教程可参考 leanpub 给出的文章。该文章详细解释了 Hubot 背后的原理,基本操作如群发消息、私聊、定义聊天模式等,以及获得消息以后在回调函数中可进行的一系列操作,并进一步讲解了事件驱动开发的一些基本知识,还有如何在开发 Hubot 的过程中快速高效的利用 Node Inspector 进行 debug。

使用 Hubot,需要对 Node.js 和 npm 有一些了解,更多细节可参考 Hubot 团队给出的教程。想要尝试 Hubot 的读者可以参考 Lornajane 的博文,文中给出了 Hubot 在本地安装、运行以及增加自动回答脚本的方法。

目前,Edge 浏览器仍然处在调试阶段。今年夏天,它将随 Windows 10 操作系统正式发布。


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

GitHub语言 & 开发架构