Thoughts, stories and ideas.

新手指南,在倍洽团队中添加机器人或自定义机器人

「机器人」一直是倍洽主打的特色功能之一,在倍洽中,机器人承担着信息自动化的任务,帮助使用者实现各种外部工具消息的打入或打出,实现人与人,人与工具,工具与工具之间信息的打通。

如果用更直接一些的表述,则可以将倍洽中所说的机器人理解为一段段封装好的程序代码,这些程序在后台默默运作,将指定的动作实现为一条条内容消息,并在倍洽聊天窗口中按照规定的样式表述出来。

标准化机器人

在倍洽团队管理面板中,进入「添加机器人」界面,我们可以看到多个分类下各式各样的及机器人插件,如 GitHub 机器人、百科机器人、Trello 机器人等等,除三个自定义机器人外,所有机器人插件都可以理解为标准化机器人插件——即由倍洽团队完成了后台程序逻辑的实现,使用者只需要在前台配置时,按照各自的需求,直接选用(有部分机器人支持多种功能选择)即可。

例如,Email 机器人就属于可以快速选用的机器人。添加 Email 机器人后,将自动生成的机器人邮箱地址添加到对应邮箱的转发地址中,即可使用这个 Email 机器人,在倍洽中查收发给相应邮箱的邮件了。

Trello 等机器人,则属于支持多种功能选择的情况。添加 Trello 机器人后,可以自行勾选该 Trello 中的哪些事件需要推送到相应讨论组。未被勾选的事件,则不会作为消息在倍洽讨论组中进行提醒。

上述两种机器人的差别,仅在于是否支持进一步筛选提醒事件,本质上都是由倍洽团队提供的标准化插件,能够大致覆盖常见的使用需求。如果在使用倍洽机器人的过程中,发现仍有未被满足的个性化需求,则可以考虑尝试自定义机器人的使用。

自定义机器人

目前,倍洽提供以下三种自定义机器人:

1.Incoming

可以将 Incoming 机器人简单的理解为一个单向的机器人,它最主要的工作,是按照程序设定的条件,将外部工具中产生的新消息,同步到倍洽指定讨论组中。

如:定时将当前 AQI 空气指数同步到倍洽等。

2.Outgoing

Outgoing 则可以有来有往。通过设置触发关键词,Outgoing 机器人可以帮助使用者将消息发送到指定外部服务,还可以将外部服务的响应结果返回到触发当前动作的讨论组。

例如,可以通过 Outgoing 机器人调用百科服务,在倍洽讨论组中发起对某个词语的查询,由 Outgoing 机器人将百科返回的结果发布到讨论组中等。

值得一提的是,Outgoing 机器人无需指定讨论组,只要使用正确的触发词,就可以在倍洽团队的任意聊天窗口中调用相应的 Outgoing 机器人。

3.Hubot

Hubot 机器人的功能则更为丰富一些。Hubot 是 GitHub 开源的一款机器人框架,提供很多聊天机器人所需的基础设施,并且,Hubot 已经发展出了较好的生态圈,有很多开源插件可以借用。选用 Hubot 机器人,也可以实现 Incoming 或 Outgoing 机器人的功能。

以上三种自定义机器人并无实际上的功能高下之分,在具体的需求场景下,建议大家根据实际情况,灵活的进行选择。

配置自定义机器人

通常来说,配置一个自定义机器人可以笼统的归纳为以下两步:

1.选择一个合适的自定义机器人框架并完成添加

在前文中,我们已经简单介绍了目前倍洽所提供的三种机器人框架。在实际的需求场景下,大家可以根据需求的复杂程度,开发量的大小等,评估选择最为适合的机器人。

仅仅就「添加」而言,这个操作十分简单,在「添加机器人」界面中选中,并点击「添加」即可。但此时,向团队中添加一个自定义机器人的「万里长征」其实只完成了第一步。

无论添加的是 Incoming、Outgoing 还是 Hubot 机器人,「添加」之后,「保存配置」之前(如配置教程太长,可点击「收起」),我们都能在「配置信息」一栏中看到两个重要内容(对单向机器人 Incoming 而言,则只有一个):

1.1 Hubot Token/Token/Webhook

这串内容是这个机器人的唯一身份标识,用以判定打入或打出的内容是否应由该机器人承载。可以先把这串内容复制下来,在下一步程序的撰写和部署中将会使用到它。

1.2 Hubot URL/Post 地址

此处应填写由该机器人执行的程序部署生效后指定的接口地址,机器人会与这个地址通信,执行对应的任务。

不过如选用的是 Hubot 机器人,则可能会遇到一个特殊情况:Hubot 分为 rtm 模式和 http 模式,如果 hubot 运⾏在 http 模式下,给 hubot 发送的消息会以 POST 的形式发送到该 URL 下,而如果运⾏在 rtm 模式下的话,就不需要填写这个信息了。

例如,在选用 http 模式 Huobt 机器人的前提下,倍洽的运营团队撰写了一段根据关键词自动爬取某网站相关内容的程序,并将这段程序代码部署到了自有的云服务器上,与此同时,在这段程序中已规定接口的地址为 xx.xx.xxx.xx,将这个访问地址填入某个 Hubot 机器人的 Hubot URL 处后,这个 Hubot 机器人将自动执行按关键词爬取某网站内容的任务。

2.撰写符合需求的程序并完成部署

程序代码的撰写通常也可分为两种情形:

2.1 该程序已由他人实现,并开源在 GitHub 等网站上

这种情况实际上省去了自行撰写程序代码的工作。只需将相应代码复制下来,并将其中的 Hubot Token/Token/Webhook 信息修改为实际的信息即可(如还有其他需要修改的自定义参数,也可以按照需求一并进行修改)。

2.2 自行撰写程序代码

如需完全自行实现某些功能,则需要一定的编程技能。并且,希望通过这个机器人连接的工具提供开发接口,是该机器人实现的必要条件。

在机器人配置页面的「配置教程」一栏中,已提供了对应机器人程序的撰写案例,并对格式和字段等都进行了详细的说明,按照教程进行撰写即可。

实现什么功能、如何实现功能,则是「自定义」最好的注脚 :)

无论选用哪一种程序撰写方式,在程序代码完成后,都需要进行部署才能投入实际使用。如已有常用的部署方式,则一切照旧即可。也可以考虑尝试 webscriptheroku 等轻量部署工具,将编写好的程序放置到云服务中。

这一步完成后,将会得到一个实际可用的访问地址,将其填入上文所说的「Hubot URL/Post 地址」框中,并保存该机器人配置,就可以回到倍洽团队交流页面,测试该机器人的使用了。

hubot 机器人,带给你更智能的 ChatOps 体验

Hubot 的前世今生

早在 2016 年,我们发布了对 hubot 的支持,随后,很多团队利用 hubot 做了很多好玩儿的应用,在此分享给大家。

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 的升级文档进行升级即可。如果有其他问题和想法,也欢迎随时跟我们联系。

在之后,我们会推出更多的精彩案例,敬请期待。

倍洽福利 | 支付宝现金红包领取指北

经过了一段时间的筹备,我们将正式上线倍洽现金红包活动,以此感谢这几年支持倍洽的朋友们,希望在 12 月伊始,给大家带来满满的惊喜和幸运~~

邀请红包

点击这里创建一个新团队,在进入团队后,打开团队用户名右侧的下拉菜单邀请新成员。

在邀请时,可直接将加入链接分享至朋友/同事,也可以直接输入对方的手机号码或邮箱,待有人加入后即可获得邀请红包。

伯乐红包

活动期间内,你将通过团队内的「倍洽小助手」消息获得专属邀请链接,将连接发送给朋友/同事,或公布在朋友圈/论坛/社交媒体等各种渠道,在活动期间,同时满足下述条件后即可获得支付宝红包:

  • 基于该专属邀请链接,有新团队创建成功

  • 新团队创建者此前没有创建过团队

  • 新团队创建者与邀请链接所有者不同时存在于某一团队中

红包领取方式

在满足「邀请红包」或「伯乐红包」的条件后,系统将自动以「倍洽小助手」消息的形式,向你推送一个支付宝红包链接。

点击「支付宝现金红包」链接并填写信息后,对应的支付宝账户中会自动收到一个来自倍洽支付宝的随机现金红包,红包金额区间为 1~88 元。

红包查看入口为:支付宝 App-红包-我的红包-我收到的。

希望有更多认可倍洽的朋友,可以将倍洽推荐给身边的人,倍洽的每一段里程,都有你们的足迹。

倍洽福利 | 满满惊喜 倍洽开启双十一模式

倍洽双十一活动如期而至~

充值返券,活动抽奖,丰富福利尽在十一月。

充值特惠,更低成本带来更高效率

在活动期内,通过支付宝、网银、线下对公支付等方式,以现金充值成功,即可获得等于充值金额 10% 的倍洽礼品券返还。

双十一,倍洽助力团队以更低成本,享受更高效率。

升级有奖,丰富礼品重磅来袭

活动期间满足「充值」及「处于高级版状态」两个条件,即可参与倍洽双十一抽奖,年度、月度团队倍洽高级版使用权,小熊抱枕,程序员周历等丰富福利已准备就绪,100% 中奖率哦~

更多活动详情可查看:倍洽双十一活动攻略

附部分抽奖礼品图,它们都在等你鸭~

祝大家在十一月的每一天,都有满满惊喜 :)

[线上 Hackathon ] 1024 机器人大作战!

1024 程序员节,致敬好奇心和创造力。倍洽滴滴云 联合发起主题为 「 1024 机器人大作战」 线上 hackathon 。倍洽,是一款提升团队协作效率的智能工作平台,其内置的机器人组件可对接多种效率工具。本次 hackathon 鼓励大家基于倍洽机器人能力进行再创造,构想 /开发能解决实际问题的机器人。

我们从 300 位工程师“最想要的礼物”清单里挑选了 Top15 作为大赛奖品,欢迎带着 不试试看怎么知道 的心态来战。我们期待 有趣、有用、有情怀 的作品诞生,其中优秀作品将被集成入倍洽,开放给 200000+ 团队使用。

(感谢滴滴云为本次活动提供云服务器支持!)

  1. 参赛需注册 倍洽滴滴云 账号,用于账号升级与服务器的发放
  2. 个人 /团队参赛均可,团队规模<=3 人
  3. 每人只能参加一支队伍,每队需指定一名队长,负责沟通事宜
  4. 报名地址:https://dc.tt/1024

  1. 参赛文档:滴滴云服务器领取&使用文档机器人 Demo 文档 OpenApi 文档
  2. 参赛流程

本次比赛的交流群地址为:https://dc.tt/team

报名参赛的同学请务必加入,主办方通知将在群内播报,活动相关的问题也可以在群内交流。欢迎其他感兴趣的同学进群围观大型脑洞现场,共同期待那些令人眼前一亮的作品诞生!

提交作品攻略:
  • 在 “分享创造” 节点下: 以 [1024 机器人大作战] +机器人名称 为主题发帖,介绍自己的机器人创意(有截图更佳),并附上源码链接。点击查看示例