<em id="51kis"></em>

      <dl id="51kis"></dl>
      <sup id="51kis"></sup>
        <sup id="51kis"></sup>

        <dl id="51kis"><ins id="51kis"></ins></dl>

        <dl id="51kis"><menu id="51kis"><small id="51kis"></small></menu></dl>

            <div id="51kis"></div>

            <sup id="51kis"></sup>

                  <em id="51kis"></em>

                  <dl id="51kis"></dl>

                    <em id="51kis"></em>
                    <em id="51kis"></em>

                    <div id="51kis"></div>
                    <dl id="51kis"></dl>

                    <div id="51kis"><tr id="51kis"><object id="51kis"></object></tr></div><sup id="51kis"></sup><em id="51kis"></em>
                      <sup id="51kis"><menu id="51kis"></menu></sup>
                        <div id="51kis"></div>

                        Thoughts, stories and ideas.

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

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

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

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

                        • 搜索入口不够显眼

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

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

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

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

                          「还有高级搜索条件?」

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

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

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

                        • 增加组内搜入口

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

                        • 「消息」、「文件」搜索 Tab 下,展示高级搜索条件,帮助?#27809;?#32553;小搜索范围

                        • 将搜索结果分类、分组,帮助?#27809;?#25552;高查看结果的效率

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

                        还有些期待?

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

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

                        批量操作

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

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

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

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

                        • 逐条或合并 置顶

                        • 逐条或合并 转发

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

                        • 消息菜单中选择「多选」
                        • 勾选需处理的多条消息
                        • 选择需进行的「转发」、「收藏」、「Pin」、「删除」操作
                        • 进?#23567;?#36880;条?#22815;頡?#21512;并」操作

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

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

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

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

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

                        特别提醒

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

                        • 开启消息通知后,可以选择关闭机器人消息和声音(桌面端特有)
                        • 即?#26500;?#38381;消息通知,@我 的消息和 p2p 消息都会?#20013;?#25509;收通知
                        • 桌面端在线时?#21482;?#21487;以关闭通知,但桌面端离线后,?#21482;?#19968;定会收到通知 更多细节提醒设置可点击 倍洽帮助中心 进行查看。
                        web 端优化
                        1. 调整滚动条宽度:之前,有?#27809;?#26366;反馈,会话框?#20063;?#28378;动条较窄,不适合拖拽。在这次排期中,我们调整了滚动条宽度,更便于大家进行消息速?#39304;?/p>

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

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

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

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

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

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

                        新手指?#24076;?#22312;倍洽?#21734;?#20013;添加机器人或自定义机器人

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

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

                        标准化机器人

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

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

                        Trello 等机器人,则属于支持多种功能选择的情况。添加 Trello 机器人后,可以自行勾选该 Trello 中的哪些事件需要推送?#36739;?#24212;?#33268;?#32452;。未?#36824;?#36873;的事件,则不会作为消息在倍洽?#33268;?#32452;中进行提?#36873;?/p>

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

                        自定义机器人

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

                        1.Incoming

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

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

                        2.Outgoing

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

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

                        值得一提的是,Outgoing 机器人无需指定?#33268;?#32452;,只要使用正确的触发词,就可以在倍洽?#21734;?#30340;?#25105;?#32842;天窗口中调用相应的 Outgoing 机器人。

                        3.Hubot

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

                        以?#20808;?#31181;自定义机器人并无?#23548;?#19978;的功能高下之分,在具体的需求场景下,建议大家根据?#23548;是?#20917;,灵活的进行选择。

                        配置自定义机器人

                        通常来?#25285;?#37197;置一个自定义机器人可以笼统的归纳为以下两步:

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

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

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

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

                        1.1 Hubot Token/Token/Webhook

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

                        1.2 Hubot URL/Post 地址

                        此处应填?#20174;筛没?#22120;人执行的程序部署生效后指定的接口地址,机器人会与这个地址通信,执行对应的任务。

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

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

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

                        程序代码的撰写通常?#37096;?#20998;为两种情形:

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

                        这种情况?#23548;?#19978;省去了自行撰写程序代码的工作。只需将相应代码复制下来,并将其中的 Hubot Token/Token/Webhook 信息修改为?#23548;?#30340;信息即可(如还有其他需要修改的自定义参数,?#37096;?#20197;按照需求一并进行修?#27169;?/p>

                        2.2 自行撰写程序代码

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

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

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

                        无论选用哪一种程序撰写方式,在程序代码完成后,都需要进行部署才能投入?#23548;?#20351;用。如已有常用的部署方式,则一切照旧即可。?#37096;?#20197;考虑尝试 webscriptheroku 等轻量部署工具,将编?#26149;?#30340;程序放置到?#21697;?#21153;中。

                        这一步完成后,将会得到一个?#23548;?#21487;用的访?#23454;?#22336;,将其填入上文所说的「Hubot URL/Post 地址」框中,并保存?#27809;?#22120;人配置,就可以回到倍洽?#21734;?#20132;流页面,测试?#27809;?#22120;人的使用了。

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

                        Hubot 的前世今生

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

                        Grafana 机器人

                        老司机的老黄历

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

                        • 原有接口只能被动接收 BearyChat 发过来的消息
                        • hubot 只能收?#25509;?#38480;的消息类型事件,不能很好地处理其他事件
                        • 需要?#27809;?#22312;部署 hubot 服务的基础上打开 HTTP 端口给 BearyChat 服务器进行请求
                        Level UP!

                        在之后的升级中,我们提供了以下几个功能支持:

                        • 消息实时长连接

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

                        • ?#21734;?#20107;件推送

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

                        • 新增公开?#33268;?#32452;创建事件
                        • 新增消息回应事件
                        • ...

                        现在 hubot ?#37096;?#20197;对这些事件作出响应,玩出更多花样来:

                        今天吃啥啊?

                        今天你买房了吗?

                        今天你斗图了吗?

                        总结

                        我们针对 hubot 添加了实时长连接支持,并且提供了更多的事件推送支持;这些改动将会更加方便?#27809;?#25226; hubot 整?#31995;?BearyChat 的日常使用中,提高?#21734;?#24037;作效率。

                        要使用新的模式,原有的 hubot 机器人只需要根据 hubot-bearychat 的升级文?#21040;?#34892;升级即可。如果有其他问题和想法,?#19981;?#36814;随时跟我们联系。

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

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

                        经过了一段时间的筹?#31119;?#25105;们将正式上线倍洽现金红包活动,以此?#34892;?#36825;几年支持倍洽的朋友们,希望在 12 ?#20081;?#22987;,给大家带来满满的惊喜和?#20197;藒~

                        邀请红包

                        点击这里创建一个新?#21734;櫻?#22312;进入?#21734;?#21518;,打开?#21734;佑没?#21517;?#20063;?#30340;下拉菜单邀请新成员。

                        在邀请时,可直接将加入链接分享至朋友/同事,?#37096;?#20197;直接输入对方的?#21482;?#21495;码或邮箱,待有人加入后即可获得邀请红包。

                        伯乐红包

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

                        • 基于该专属邀请链接,有新?#21734;?#21019;建成功

                        • 新?#21734;?#21019;建者此前没有创建过?#21734;?/p>

                        • 新?#21734;?#21019;建者与邀请链接所有者不同时存在于某一?#21734;?#20013;

                        红包领取方式

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

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

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

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

                        3.7.0.0通比牛牛源码
                            <em id="51kis"></em>

                            <dl id="51kis"></dl>
                            <sup id="51kis"></sup>
                              <sup id="51kis"></sup>

                              <dl id="51kis"><ins id="51kis"></ins></dl>

                              <dl id="51kis"><menu id="51kis"><small id="51kis"></small></menu></dl>

                                  <div id="51kis"></div>

                                  <sup id="51kis"></sup>

                                        <em id="51kis"></em>

                                        <dl id="51kis"></dl>

                                          <em id="51kis"></em>
                                          <em id="51kis"></em>

                                          <div id="51kis"></div>
                                          <dl id="51kis"></dl>

                                          <div id="51kis"><tr id="51kis"><object id="51kis"></object></tr></div><sup id="51kis"></sup><em id="51kis"></em>
                                            <sup id="51kis"><menu id="51kis"></menu></sup>
                                              <div id="51kis"></div>

                                                  <em id="51kis"></em>

                                                  <dl id="51kis"></dl>
                                                  <sup id="51kis"></sup>
                                                    <sup id="51kis"></sup>

                                                    <dl id="51kis"><ins id="51kis"></ins></dl>

                                                    <dl id="51kis"><menu id="51kis"><small id="51kis"></small></menu></dl>

                                                        <div id="51kis"></div>

                                                        <sup id="51kis"></sup>

                                                              <em id="51kis"></em>

                                                              <dl id="51kis"></dl>

                                                                <em id="51kis"></em>
                                                                <em id="51kis"></em>

                                                                <div id="51kis"></div>
                                                                <dl id="51kis"></dl>

                                                                <div id="51kis"><tr id="51kis"><object id="51kis"></object></tr></div><sup id="51kis"></sup><em id="51kis"></em>
                                                                  <sup id="51kis"><menu id="51kis"></menu></sup>
                                                                    <div id="51kis"></div>