Thoughts, stories and ideas.

倍洽新集成:心知天气机器人来了

日前,倍洽(BearyChat)与气象方案提供商心知天气达成合作,为用户提供更多功能。

心知天气是一家先从零售行业切入的气象方案提供商,通过数据接口(API)、自然语言处理(NLP)、预警与推送(Trigger)、数据可视化(BI)等产品,向客户提供精细化天气数据,提供零售气象解决方案,帮助零售企业量化天气对于业务的影响。心知天气致力于通过气象和环境大数据分析为企业提供气象信息产品和 BI 服务,帮助企业增强在不同天气和环境中赢利的能力。

目前,心知天气的数据涵盖了全球2.4万个城市,提供了实时天气、15天预报、逐小时预报、空气质量实况和预报、灾害预警等数十种天气数据。

心知天气主要有两个功能:一是每日天气推送,用户选择地区和推送时间后,就会在固定时间收到心知机器人的天气预报,用来了解明天的天气情况;另一个是恶劣天气预警:用户选择需要预警的灾难类型(如暴雨、雾霾、台风等),一旦触发机器人将会随时发出消息提醒。

在启用心知天气机器人时,需打开「管理面板」,点击「机器人管理」、选择「添加机器人」,在搜索并添加心知天气机器人后,按照提示填写配置信息和基础信息,即可完成机器人配置。

对于个人来说,天气情况影响着我们每个人的日常生活,暴雨、雾霾、台风等灾害天气更是严重地威胁着我们每个人的安全和健康,心知天气整合了天气预报和实时天气预警信息,帮助我们及时了解天气信息,提前知晓灾害天气,防患未然。

对于企业来说,天气在许多行业与经济活动中扮演着决定性的角色。比如,移动端用户对于天气资讯有普遍需求,引入天气可以贴近生活场景,提升用户体验:运动app可以在好天气的时候推荐户外活动;旅游app可以在用户规划行程时提供天气预报;购物app可以把近期天气考虑进商品推荐的算法中。除此之外,智能硬件、能源、交通物流和广告营销等行业也都与天气息息相关。

之后,我们还将继续关注心知天气机器人和其他机器人的情况,希望倍洽的机器人可以给每一位用户带来良好的使用体验,协助每一位用户更好地完成工作~

场景案例 | 倍洽移动开发团队如何使用倍洽?

我们准备了一些使用场景案例,希望可以抛砖引玉,与更多人一起交流便捷流畅的工作方式。譬如,从介绍倍洽移动开发团队的日常工具选型和工作流搭建开始 :)

倍洽移动开发组通常会根据实际的使用场景在自己的倍洽团队上创建不同的讨论组,实现信息的按主题分流和收集。例如,创建相关「Bug 收集」组用来收集各移动端日常产生的报错信息、「问题跟踪」组用来追踪管理各种问题的处理进展、「资讯收集」组用来订阅最新的技术动态、「代码开发」和「交互设计」用组来跟进产品开发动态、「测试上线」组用来发布产品测试信息和收集测试反馈、「评论收集」组用来监控自己产品和竞品在各个应用商店中的舆情、「产品优化」组则用来汇总查看一些用户的反馈建议等等。

具体的工作流程:

1. 通常,一个版本上线后,我们会用 Crashlytics 来收集移动端的崩溃日志,也使用 Bugly、BugHD、听云等服务来收集崩溃和 Bug 信息。在倍洽中直接启用这些工具和服务对应的机器人,不仅能够在无需来回切换工具界面的情况下实时查收消息,客观上还在倍洽中汇总备份了信息,使其更具有可回溯性,便于我们以后根据日期来回顾当时所出现的问题,更好地进行版本质量管理。

如上图所示,在实际工作中,我们将上述机器人同步而来的消息按照客户端分类,分别推送到「Bug收集-安卓」、「Bug收集-iOS」、「Bug收集-WP」三个讨论组中。利用讨论组的拆分做到信息的分类收集,让数据更加整齐,便于梳理。不同客户端的开发工程师只需要关注相应的讨论组,即可及时掌握与自己密切相关的客户端动态,而不会被其它弱相关信息干扰。

2. 在版本上线以后,如果遇到了比较严重的质量问题,如闪退等,倍洽移动端团队会利用 Crashlytics + Trello + 倍洽(BearyChat) 的组合完成对这个问题的质量追踪。具体的工作流程是:利用 Crashlytics 内置的与项目管理工具 Trello 相关联的特性,Crashlytics 在监控到质量问题时,自动为这个问题在 Trello 上创建一个任务卡,并通过 Trello 机器人实时向倍洽相应讨论组中同步该任务的进度。

我们会根据严重性对问题进行区分,并将相应信息归类入不同的讨论组中。例如,上述 Trello 机器人同步的消息会被归入到「严重问题跟踪解决」讨论组中,同时,相关工程师跟进问题后对该任务卡进行的操作信息也会通过 Trello 机器人实时推送到这个组中,方便其它同事了解该问题的进展,保证了整个团队信息同步的及时性,便于日常协作。

3. 我们创建了「代码开发」这个讨论组来保证移动团队内部开发进度的实时同步。当然,这个讨论组在 Bug 修复工作中也十分有用,例如,大家可以在这个讨论组中实时查看谁正在处理什么 Bug 、修复到了什么阶段,很好地避免了重复劳动和有问题没人管的尴尬情况。另外,我们十分推荐使用 Hubot 机器人连接 GitHub,完成配置后,就可以直接在倍洽上通过对 Hubot 发送指令来完成查看和创建任务,十分方便。

4. 我们使用 fir.im 来管理内部测试版本的发布。在倍洽上建立相应的讨论组并完成 fir.im 机器人的配置后,就能够方便地看到每个版本的上传信息,便于进行版本管理和质量控制。

5. 移动客户端正式上线以后,我们会利用 APPreview 机器人来收集自己产品和竞品的舆情,方便「评论收集」讨论组内的成员在第一时间作出回应或进行优化。

6. 另外,为了建设一个学习型的团队,我们非常重视日常的资讯获取。我们配置了一些 RSS 机器人用于收集行业信息,如 Android Studio 的版本更新,ARKit 官方论坛的最新内容等,保证团队成员能够实时获取行业最新动态。

在倍洽中直接操作 GitHub

在倍洽(BearyChat)目前提供的 众多机器人 里, GitHub 机器人 是非常受欢迎的一个,它最大的价值在于让 GitHub Flow 变得更加有效率,在保证质量的基础上提高开发速度。但也有不少用户向我们反馈希望 GitHub 机器人能做更多事情,比如在倍洽里直接对 GitHub 进行一些操作,而不仅仅是事件提醒。

操作 GitHub 我们当然会想到 GitHub 自家推出的 Hubot,搜索了一些现有的 Hubot 插件,发现都没有完全满足需求的,不如「自己动手丰衣足食」吧,我们自己编写了一个 Hubot 插件,接下来先看看它都可以做到什么?

场景 1:添加 Issue

我们经常会在讨论组里讨论各种想法,或者收到各种各样的用户反馈,在短暂的沟通后,如果达成共识。工程师就去在对应的项目上建立一个 Isuue,做一个备忘,并逐步添加更具体的细节,和实现方案。 利用 Hubot 现在我们可以更方便的直接在讨论组添加 Issue,一气呵成。

大家再也不用担心漏掉需求了。

场景 2:检查自己的 Issue 和 Pull Request

对于习惯于专注工作的工程师来说,每天有稳定的时间写代码和 Code Review 是提高他们工作效率的秘诀。

通常每天上班开始,先去看看目前手上自己需要做的工作,去 Github 上查看所有分配给自己的 Issue。

每天也会安排出专门的 Code Review 时间,去看分配给自己的 Pull Request。

这是只需要对 Hubot 说 github issue mine [repo] 就可以获取某个项目下自己还需要完成的 Issue 和需要自己 Review 的 Pull Request。

当然很多情况下,一个人不仅仅需要维护一个项目,团队里很多项目都有你的参与,这时你也可以通过 github issue all 获取在整个企业下,分配给自己的所有工作。

场景 3:发布 Release Tag

每次完成一个里程碑或者每一次代码上线,我们团队都会为添加新的 Release Tag, 这非常有助于我们的部署流程,我们可以使用 Tag 来安全的上线代码,已及回滚代码。

同时,每次发布 Release 的内容也是一个很有用的信息。我们在使用一个叫 legilimens 的工具,获取这次 Release 对比上一次有哪些新的 Pull Request 被合并。

这个列表一方面成为了验证功能是否正常的一份 Checklist,另一方面当上线后发现问题时,可以帮助我们快速定位问题可能是哪里引起的。

但是这个流程之前是比较复杂的,每次都要去 GitHub 的表单填写很多内容,经常容易操作错误。如果用机器人用问答的形式来发布 Release,就降低了操作的难度,也在一定程度上降低了出错的可能性。

以上这些功能现在都是用 hubot-githuber 这个 Hubot 插件实现的,这个插件也在 GitHub 上 开源,功能也会不断完善。

使用的时候需要注意的是,需要预先设置好 HUBOT_GITHUBER_ACCOUNT 环境变量(通常是企业的 organization name),机器人配置好后,使用者需要对 Hubot 私聊 github token 把自己的 GitHub access token 告诉 Hubot。

希望这个插件能对你有帮助。

小贴士 | 发票信息编辑界面增加纳税人识别号填写栏,可提前进行编辑

根据国家税务总局 《关于<国家税务总局关于增值税发票开具有关问题的公告>的解读》 中的解释,自 2017 年 7 月 1 日起,购买方为企业的,索取增值税普通发票时,应向销售方提供纳税人识别号或统一社会信用代码,即:同时体现企业名称(抬头)与纳税人识别号(税号)的发票才能作为企业办理涉税业务,如计税、退税、抵免等的税收凭证。

熊组在昨晚的上线中已经为倍洽团队账户发票信息页增加了「纳税人识别号」填写栏。

团队超级管理员及管理员可以点击页面左上角团队名称右侧下拉菜单进入团队管理面板,在账户总览页面中点击发票信息页,预先填写包括发票抬头、纳税人识别号、发票寄送地址在内的团队发票信息,便于日后快速为团队充值开具发票。

开具增值税专有发票及其他更多发票开具相关说明可查阅倍洽 帮助文档

什么?RSS 机器人还能做这些事情?

虽然在短短几十年的互联网时代里 RSS 已经是一个相对古老的技术,但是它至今也仍在然起着很多不可替代的作用。利用RSS 我们可以避免耗费精力的主动查询,让网络世界更加自动化,而且相对于微信公众号等封闭的内容订阅平台,RSS 是完全开放的,生态圈更加丰富和多样。

倍洽(BearyChat)支持 RSS 机器人 已经有 两年 了,使用它可以很方便的把一些好的内容来源,自动给自己或者给团队同事分享阅读。

然而利用 RSS 机器人,是不是只能获取有 RSS 支持的内容呢?其实答案是否定的,因为还有很多工具可以帮助你把想要的内容 RSS 化,让机器人可以识别,我们来看看下面几个场景:

我想跟踪社交媒体,看看对于自己的产品,用户们是怎么说的?

有一个叫 Queryfeed 的工具,可以支持把多种社交网站(Twitter Facebook Google+ Instagram 等)的内容转化为 RSS 源。

我们以 Twitter 举例,用它来生成关于游戏「纪念碑谷」的 RSS 源。

  1. 先用 Queryfeed,填入「纪念碑谷」生成 Twitter search 的 RSS 源。
  2. 把生成的 RSS 源,地址复制出来。
  3. 建立一个 RSS 机器人,在「订阅地址」里填入刚刚复制的 RSS 源地址。
  4. 设置完成,你立即会收到用户最近和 「纪念碑谷」有关的 Tweet。

怎么样是不是很容易?只需简单几步,就不会轻易错过用户的声音了,我们再看下一个应用场景。

我的软件使用了一些关键的第三方库,我想及时知道他的更新要怎么办?

Libraries.io 是一个开源软件的索引服务,支持众多主流开源软件仓库。

我们这里要监控一下 hubot-bearychat (BearyChat 的 Hubot adapter)这个包在 NPM 上有没有新更新。

  1. 在 Libraries.io 里搜索 「hubot-bearychat」
  2. 进入详情页,在侧栏就可以看到 releases 的 RSS 源,如下图:
  3. 同样复制地址,建立机器人。
  4. 设置完成,你立即会收到最新的版本号推送。

通过这个机器人,我们就可以及时知道,我们使用的库是不是又修复了什么 BUG,有没有新功能可以用上。(GitHub Repo 也支持 releases 的 RSS 输出,也是另一种跟踪方式)

当然,上面的两个例子都是一个特定场景,社交网站和开源软件,那么......

如果我想对任意的页面进行监控呢?

现实是没有那么美好,大部分的互联网页面是都不支持 RSS 输出的,但是这也不是没有办法,再介绍两个终极武器:将任意页面转为 RSS 源的工具 FeedityFeed43

我们以抓知乎的搜索结果为例子,把知乎「搜索 AlphaGo」的地址 https://www.zhihu.com/search?type=content&q=AlphaGo 复制到其中一个工具里。

其中 Feedity 支持你鼠标圈选你关心的内容,并可以把同一类内容(比如标题)一起选择抓取,从任意页面选择你所需要关心的内容,不过 Feedity 是收费服务,最基础的套餐是 9 美元一个月,如下图:

而 Feed43 使用起来难度比较大,需要你有一些 HTML 基础,自己去写规则来匹配出你想要的内容,把需要的内容通过一些语法筛选出来,但是优势是有免费的套餐。

这两个工具,都可以先试用,测试生成你想要的 RSS 源。这样绝大部分页面都可以通过各种各样的工具 RSS 化了。

好了,介绍的这些工具不知道对你有没有启发,如果有就动起手来,让 RSS 机器人发挥它最大的价值吧~