Thoughts, stories and ideas.

产品更新 | 搜索优化和批量操作

在今天,我们迎来了新年春暖花开中的第一次更新,接下来和大家同步一下这次更新的具体内容。

搜索交互
为什么优化搜索功能?

我们总结了原有搜索的痛点、痒点:

  • 搜索入口不够显眼

    「我从哪儿开始搜索啊?」

  • 没有明确搜索范围(全局、组内)、搜索类型(消息、文件)

    「总是觉得它是全局搜索,但是又只能搜索聊天记录,不能搜索联系人」

  • 高级搜索条件不够明显,导致结果过多,影响效率

    「还有高级搜索条件?」

  • 搜索结果较多的情况下,分组较混乱

    「为了找到我搜的那个密码,在电脑前面滑了 5 分钟....」

优化了什么?
  • 搜索入口从第一栏移至会话列表顶部

  • 增加组内搜入口

  • 新增「通讯录」内容搜索,可查询「成员」、「讨论组」、「机器人」和组织架构中的「部门」

  • 「消息」、「文件」搜索 Tab 下,展示高级搜索条件,帮助用户缩小搜索范围

  • 将搜索结果分类、分组,帮助用户提高查看结果的效率

  • 新增搜索历史,再次查询更便捷

还有些期待?

作为一个可爱又细致用户的你,肯定对现有的搜索功能还有很多建议,不如来看看我们会在之后做哪些事情:

  • 优化搜索结果排序,搜索结果完全匹配优先展示,模糊匹配后展示或不展示
  • 进一步缩小搜索范围,可设置是否搜索未加入的讨论组
  • 增加文件类型的筛选
  • 引用消息、机器人消息搜索优化

批量操作

批量操作指多选消息后进行批量转发、收藏、Pin、删除 4 种操作。之前我们已经在移动端上线多选功能,此次我们将在桌面端、移动端完善批量操作。

为什么完善批量操作功能?

日常工作情景中,我们会围绕某一话题发出多条消息。当我们想将这一话题的内容进行处理时,批量操作功能会帮我们更快速完整的将整个话题进行收藏、置顶、转发。相对于一条一条消息进行处理,批量操作可减少操作,提高效率。

批量操作可以做什么?
  • 逐条或合并 收藏

  • 逐条或合并 置顶

  • 逐条或合并 转发

  • 对多条自己发出的消息进行删除。自己发出 5 分钟以上的消息不可以被批量删除哦。
如何批量操作?

  • 消息菜单中选择「多选」
  • 勾选需处理的多条消息
  • 选择需进行的「转发」、「收藏」、「Pin」、「删除」操作
  • 进行「逐条」或「合并」操作

特别注意
  • 批量操作最多支持 25 条消息
  • 经合并转发操作生成的消息,可与其他消息二次合并,需注意的是,二次合并后转发的消息不再支持与其他消息合并
  • 合并收藏、置顶的消息,会在原有消息的编辑后,同步更新消息内容
  • 合并转发的消息,不会因原有消息的编辑而更新消息内容

以上功能大家升级至最新的客户端(已在最新版可尝试刷新)即可享用了呦!

我们会一直为顺畅沟通、智能协作不断努力。大家在使用过程中,如果有更好的建议,也欢迎大家反馈给我们,我们非常愿意听到你们的声音~

产品更新 | 简化多端推送逻辑,更多功能优化

随着春节假期的结束,我们渐渐步入了新一年的工作当中。今天,和大家同步一下倍洽在年前产品迭代中都做了哪些改变和优化,希望在新的一年,为每一个团队带去更高效的工作方式~

特别提醒

在这里,需要特别提醒大家一点的是,我们在这次更新中简化了消息的推送逻辑,具体表现为:

  • 开启消息通知后,可以选择关闭机器人消息和声音(桌面端特有)
  • 即使关闭消息通知,@我 的消息和 p2p 消息都会持续接收通知
  • 桌面端在线时手机可以关闭通知,但桌面端离线后,手机一定会收到通知 更多细节提醒设置可点击 倍洽帮助中心 进行查看。
web 端优化
  1. 调整滚动条宽度:之前,有用户曾反馈,会话框右侧滚动条较窄,不适合拖拽。在这次排期中,我们调整了滚动条宽度,更便于大家进行消息速览。

  2. 消息气泡的样式:在消息展示时区分主客态,更快速查看消息。

  3. 优化选人弹窗:在新创建一个讨论组、或在讨论组中邀请人时,可以通过组织架构批量选择成员,节省了反复搜索的时间。

移动端优化
  1. 新增消息多选操作:长按每一条消息,则会跳出多选页面,可对多条消息进行一键转发、置顶、收藏、删除操作。

  2. 在 About 页面新增查看帮助中心和 App 更新日志,大家可通过 App直接查看倍洽版本更新信息,并快速获得使用帮助。

除了以上提到的功能更新以外,我们还对 Markdown 样式、会话列表、文字复制等进行了优化。

最后,祝大家元宵节快乐!

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

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

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

标准化机器人

在倍洽团队管理面板中,进入「添加机器人」界面,我们可以看到多个分类下各式各样的及机器人插件,如 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-红包-我的红包-我收到的。

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