资讯专栏INFORMATION COLUMN

如何在一分钟内配置一个二维码机器人?

wupengyu / 3276人阅读

摘要:先去你团队所在管理面板添加一个机器人。这个过程很费时间不说,偶尔还会弄错,现在有了这个二维码机器人,不止方便,地址也写在上边,大家可以即及时发现错误。

真的一分钟就可以完成一个二维码机器人?

我们团队在使用自己产品的时候,经常会有冒出一些很多小想法,比如:

在抽奖的时候能不能有个机器人帮助我们掷色子?
在选择困难的时候有一个机器人帮我决定中午吃啥?
我想把电脑上的一个页面用手机打开,能不能有个机器人帮我生成二维码?
相信你曾有过的小想法也会有很多,这些想法靠不靠谱先不要紧,先看看能不能快速实现出来~

这篇博客我介绍一个「如何建立一个二维码机器人」的完整示例,完成之后,在 BearyChat 发一个 $qr 某网址 的消息,你就可以获得一个对应的二维码图片。

我们需要利用到两个东西: Outgoing 机器人和 Webscript 脚本服务。

所谓 Outgoging 机器人 就是在 BearyChat 里,把所有以某触发词的开头的普通消息,发送到外部的某个指定服务的机器人。它更厉害的地方在于:可以把处理后的结果再转化成消息,发回给 BearyChat ,让你的机器人可以「一问一答」。

先去你团队所在 BearyChat 管理面板添加一个 Outgoing 机器人。

在手动模式这里我们我们填入了「触发词」 $qr ,由于 「POST 地址」暂时还没有,我们先不关闭这个页面,留着一会儿填写。

再介绍一个叫 Webscript 的服务,它的作用就是能在线编辑并且部署你的小脚本到一个 URL,快速完成一个简单的 API。

你需要先注册一下帐号,然后就可以创建自己的脚本了, 创建的时候你需要填写访问脚本对应的 URL。

在 Webscript 上编写脚本使用的是 Lua,虽然你可能并不熟悉 Lua 这门语言,但其实这里的使用是极为简单的。Webscript 自己也提供了不错的 技术文档 让你快速上手。

在这个脚本只做了很少的事情:

第一句我们通过 json.parse(request.body).text 得到了 BearyChat 发来消息的正文。
第二句 string.sub(text, string.find(text,"%s.+$")) 通过正则表达式 ,获取了触发词之后的内容,也就是我们生成二维码的地址。
最后我们通过 "https://api.qrserver.com/v1/create-qr-code/?size=200x200&data="..URL 得到一张动态的二维码码图片地址,返回给 attachments 里的 images 字段(这些都是 Outgoing 机器人消息标准的数据格式)。这里我们也要感谢 goqr.me 提供的动态二维码服务。
点击保存,这个小 API 就已经完成,可以被外部访问了,ps 需要复制请去看 完整代码 (实际代码可能会有更新)

最后我们再回到 BearyChat 的管理面板,把刚创建脚本的 URL 填入到 Outgoing 机器人的 「POST 地址」,保存。

这样我们的二维码机器人就完成了,可以在任何地方使用 $qr 某网址 来触发它: 当然如果你是第一次走这个流程,会多需要一些时间,但之后再次做类似的机器人一定就熟能生巧,以 1 分钟以内为目标吧~

还有一个小插曲,当时设计同学看到了我使用这个机器人,告诉我说这可帮了他大忙:平时他要提供设计素材的时候,都是先去搜索引擎,找一个在线二维码生成工具,下载图片,最后回到 BearyChat 把图传给工程师。这个过程很费时间不说,偶尔还会弄错,现在有了这个二维码机器人,不止方便,地址也写在上边,大家可以即及时发现错误。听到这个成就感爆棚啊。

最后预告,我们之后还会介绍更强大的 Hubot 机器人,敬请期待。
使用BearyChat
2017/04/17
loddit

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19621.html

相关文章

  • js版微信聊天机器——wechat-robot

    摘要:基于和端微信开发的聊天机器人。使用的微信账号即充当机器人的账号为个人账号,可自定义指令。关闭玫瑰感谢您的使用玫瑰闪电需要开启请在控制台启动程序闪电微信发出关闭口令,程序退出。 Github: https://github.com/doterlin/wechat-robot showImg(https://segmentfault.com/img/remote/1460000010601...

    Darkgel 评论0 收藏0
  • 【Filecoin源码仓库全解析】第六章:如何单机部署多节点集群及矿池设计思路》

    摘要:我们将在本章介绍如何在一台机器上构建多节点的方案和未来矿池产品设计的一些思路。本文将介绍一种直接在单机上部署和管理多节点的方案。最初起源于比特币。 欢迎大家来到第六章,经过前章《【Filecoin源码仓库全解析】第五章:检索市场及检索矿工》的介绍,无论从定位职能,还是从设计原理,还是从工程操作角度,我们应该对目前的Filecoin检索市场有了更加深入的了解。 我们将在本章介绍如何在一台...

    BDEEFE 评论0 收藏0
  • 从JVM角度思考--如何预估线上环境机器资源大小

    摘要:预估的方式也很简单,八种基本类型直接带入字节大小,对象类型以基本类型为基础预估大小。基本上台核的机器就能满足这次活动。五总结预估之后,并非意味着就完全没问题了,还需要在上线时备好更多机器,防止意外发生。 ...

    Worktile 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<