近期积木式开发平台HaaS云服务上线了:https://haas.iot.aliyun.com/micro-server/my-instance ?
首发支持微服务的积木式开发。下面来介绍下,如何使用HaaS云服务借助钉钉来搭建一个简单的聊天机器人程序
?
2、创建工程登陆?https://haas.iot.aliyun.com/micro-server/my-instance ?后,开通服务,即可进入微服务工作台。
从这边导航栏,我的实例开始,直接申请实例
?
之后点击实例后面的“打开”键,即可进入积木式开发界面
?
界面如上图所示,最中央占地最大的是画布,也是工作台。
画布左侧的一组组小方块是一个个小的功能节点,简单来说:开发时,就是把左边的方块一个个拖到画布上,再串联起来,即可完成功能逻辑的开发。
画布上方的TAB是小的功能组合,当前已经有三个默认的TAB。
开发聊天机器人,用不到默认的这三个工程,双击TAB名字即可弹出如下界面,可以直接删除或禁用
最后还有右上角的“部署”按钮和下面的虫子图标代表的调试栏,是后面会经常使用的,记住这两个按键即可。下面正式进入积木式开发
?
3、开发过程3.1、创建入口? ? 点击TAB栏的空白处,或TAB栏右边的+号,即可新建一个TAB,然后分别拖一个http in 和http out到新TAB的画布上? ? ? ? ? ? ? ?
双击http in节点,改变请求方式为POST,并且添加一个url路径,这里我们填"/post"? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?
此时,其实已经获得了一个可以接受钉钉机器人消息的http入口,完整的url就是当前页面的域名+http in节点的路径,也就是http://463.****.alicontainer.com/post
?
3.2、配置钉钉机器人这时,可以去配置钉钉机器人了
在钉钉上创建一个群组,并进入群设置- 智能群助手- 添加机器人- 自定义? ? ? ?
?
给机器人取个名字,并配置关键词(关键词后面会用到),勾选同意后就可以完成了在下一个界面中,会展现出一个webhook地址,把这个地址拷贝下来,后面有可能会用到。打开outgoing,这个post地址,就填写上面HaaS云服务生成的地址:http://463.****.com/postOK,再次回到HaaS云服务的积木式开发界面
?
3.3、调试看看钉钉会发来什么拖一个debug节点到上面,和http in节点连接起来,然后直接点击部署,并且点击调试按键,进入调试窗口。
在钉钉上@机器人,看看会输出什么
可以看到,调试窗口已经打印出了@机器人 后面的文字“你好”,除此之外还把完整的http消息内容打印了出来(全都在msg.payload中)可以通过一个“function”节点,通过几行代码提取出最需要的文字。
?
3.4、提取内容找到“function”节点,拖到http in节点后面,连接好,并且双击,写这么几句js代码
var content = msg.payload.text.content.trim()?? //提取内容 node.warn(content) //打印 msg.payload = content //把原始内容覆盖掉 return msg;? //传递向下一个节点? ? ? ?
此时这个function节点的输出就是在钉钉上输入的词语“你好”了.
?
3.5、调用聊天机器人API再拖一个function节点到后面,在这个节点里,会通过代码调用一个免费的聊天机器人API"青云客",获取机器人的输出,并且通过node.send(msg)传递向下一个节点。
?
?
3.6、回复钉钉再拖出第三个“function”节点,在这个节点里,会按钉钉的消息模板,组装出响应消息,代码如下:
msg.payload={ ??? "msgtype": "text", ???? "text": { //9527是我的机器人的关键词 ???????? "content": "9527: " + msg.response ??? }, } return msg;最后连接上开始时的http out节点,就大功告成了
在钉钉上试一下:
?
4、后记有人可能会问,这个看起来也不简单啊,还需要自己写这么多代码,怎么算是积木式开发呢?
别急,可以先这么做:选择聊天机器人的节点后,点击右上角的菜单栏,将选择部分更改为子流程。
这样,这个节点就不再单纯的是一个function节点,而是被包装成了一个“聊天机器人”的积木节点
后续HaaS云服务会很快开放这种自定义功能节点的共享和下载功能。也就是说:封装的这些积木节点,可以开放给HaaS云服务的所有用户使用,也可以自由使用其他人封装的节点,做到人人为我,我为人人。
当前公测阶段,HaaS云服务会开放集成开源node-red的丰富积木节点,同时也希望志同道合者针对IoT场景贡献更多的“积木”节点,一起完善IoT生态,让后台服务的开发不再复杂。
?
开发者技术支持更多技术与解决方案介绍,请访问阿里云AIoT首页https://iot.aliyun.com/
一、背景 自从 Apache Dubbo 在 2011 年开源以来 在一众大规模互联网、IT公司的...
本文转载自微信公众号“中国中文信息学会青年工作委员会”。 01 关于AIS 今年7月...
建设智慧型城市, 大数据 遍布智慧型城市,从政府决策服务到衣食住宅生活方式、...
背景 我们知道 如果在Kubernetes中支持GPU设备调度 需要做如下的工作 节点上安装...
这个工具是使用Python开发,可以从下面地址了解详情。 官网: https://pypi.org/...
先看两个超级简单的代码。 for iinrange(10**7): x=i%5 代码1:简单代码 defmain...
作者 | 悟鹏 来源 | 阿里巴巴云原生公众号 《Kubernetes 稳定性保障手册》系列文...
本文转载自微信公众号「苏三说技术」,作者因为热爱所以坚持ing。转载本文请联系...
本文转载自微信公众号「前端思维框架」,作者ViktorHub。转载本文请联系前端思维...
本文转载自微信公众号「Java大数据与数据仓库」,作者刘不二。转载本文请联系Jav...