本文介绍通过机器人框架设计器 (Bot framework composer)接近拖拉拽的方式设计一个聊天机器人,该聊天机器人的主要功能是发起http请求查询天气。当然,稍微变通下,可以用来查询几乎任何你想查询的内容,比如是否有新的日程,比如查询订单系统等等。
本文参照文档:https://docs.microsoft.com/zh-cn/composer/introduction
本文使用了一个模拟的天气查询api,该api提供北上广深的天气查询,其余城市返回404,具体见下图:
我们准备了一个测试用的API地址: http://get-weather-api.azurewebsites.net/api/GetWeatherByCityName?name=shanghai2
注意,如果测试API不可用,可以下载源码并自行部署:https://github.com/sean8544/bot-framework-get-weather-api
参数支持 beijing,shanghai,guangzhou,shenzhen
机器人的流程如下:
关键设计步骤如下图所示:
1. 询问要查询的城市:将输入结果存入变量
2. 输出要查询的城市,从变量读取数据:
关键语法${变量名称}
3. 调用http request:
URl 里采用 expression的方式传入参数,语法为${参数名}
Result Property :dialog.api_response
Response type:json
关于result property 的值,请参照文档:
https://docs.microsoft.com/zh-cn/composer/how-to-send-http-request#add-a-send-an-http-request-action
4. 判断http request 请求的结果是否为200或404
模拟器里的配置:
下载ngrok并解压到硬盘,设置ngrok的路径,确保状态如下图显示 active,本地的模拟器调试才可以正常使用。
边设计边测试:
点击rerstart bot,然后点击 test in emulator即可启动模拟器
模拟器运行效果:
详细的内容,还是看视频吧: