Thoughts, stories and ideas.

Hubot to Infinity, and Beyond!

hubot 的前世今生

一年前,我们发布了 hubot 机器人的支持。在这短暂一年里,很多团队利用 hubot 做了很多好玩的应用:

Grafana 机器人:

Grafana 机器人

老司机的老黄历

老司机的老黄历

但在使用原有接口开发的过程中,我们也发现存在一些问题:

  • 原有接口只能被动接收 BearyChat 发过来的消息
  • hubot 只能收到有限的消息类型事件,不能很好地处理其他事件
  • 需要用户在部署 hubot 服务的基础上打开 HTTP 端口给 BearyChat 服务器进行请求

Level UP!

这次功能升级,我们提供了以下几个功能支持:

消息实时长连接

为了能保证 hubot 实时收到 BearyChat 的事件推送,我们提供了 实时长连接(RTM)模式。该模式下,hubot 将会通过 WebSocket 协议连接上 BearyChat 聊天服务器。成功连接上后,团队内所有事件都会通过该连接发送到 hubot. 在该模式下,用户不再需要提供 HTTP 端口(也就是说在防火墙后面也能收发消息)就能正常启用 hubot 机器人。

团队事件推送

新模式下,除了原有的消息事件,BearyChat 服务也会同时推送其他事件到 WebSocket 连接到另一方,例如:

  • 新增公开讨论组创建事件
  • 新增消息回应事件
  • ...

现在 hubot 也可以对这些事件作出响应,玩出更多花样来:

今天吃啥啊?

今天吃啥啊?

今天你买房了吗?

今天你买房了吗?

今天你斗图了吗?

今天你斗图了吗?

总结

这次升级中,我们针对 hubot 添加了实时长连接支持,并且提供了更多的事件推送支持;这些改动将会更加方便用户把 hubot 整合到 BearyChat 的日常使用中,提高团队工作效率。要使用新的模式,原有的 hubot 机器人只需要根据 hubot-bearychat 的升级文档进行升级即可。如果有其他问题和想法,也欢迎随时跟我们联系。

P.S. BearyChat 开放 API 正在进行 beta 测试,欢迎有兴趣的朋友在我们的 GitHub 仓库查看相关文档。更加详细的教程和文档会在近期推出!更多进展我们下次再聊 :D

comments powered by Disqus