本文介绍通过机器人框架设计器 (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即可启动模拟器

 

模拟器运行效果:

 

 

详细的内容,还是看视频吧: