微信公众号智能回答

闲来无事,上腾讯看看有什么好的产品开发。
。。腾讯智能对话平台,进去瞅瞅。
打开文档先看看:cloud.tencent.com/document/product...
跟着测试,完了一番后看见

微信公众号智能回答

思考之下,想到之前跟着教程学习了扩展包开发,可以查询天气,那就创建个天气的意图吧,

微信公众号智能回答

机器人创建完毕,接下来开发接口:找个稳定版的laravel5.5下载把!

Route::any('city_weather','CityWeatherController@index');

先编写一个接口允许所有方法接收,接下来写逻辑;

 $RequestId = $request->RequestId;
        $city = $request->SlotInfoList[0]['SlotValue'];
        $weather = new WeatherService();
        $weather = $weather->getWeather($city, 'all');
        $data = '';
        if ($weather['info'] == "OK") {
            $data .= $city.':';
            foreach ($weather['forecasts'][0]['casts'] as $k => $item) {
                if ($k < 3) {
                    $data .= $item['date'] . ",星期" . $item['week'] . ',白天天气:' . $item['dayweather'] . ',白天温度:' . $item['daytemp'] . ',晚上天气:' . $item['nightweather'] . ",晚上温度:" . $item['nighttemp'] . ";";
                }
            }

        } else {
            $data .= "气象台忙,请稍后在尝试";
        }
        $array = [
            'RequestId'       => $RequestId,
            'ResponseMessage' => [
                "ContentType" => "PlainText",
                "Content"     => $data,
            ],
        ];
        return json_encode($array, true);

代码解析:首先根据文档要返回机器人id,那么他提交数据也是有的直接记录起来(😓!你这样有什么作用呢,发给我我在发给你),二:根据文档的参数接收(我直接取0下面的是因为我这里只有一个城市不会存在多个的 所以我直接取0吧)吧城市记录,三:编写城市天气查询(这个在教程外包扩展中学习就不再这一一解析了),四:根据文档说明现在是需要返回文本格式的(额,这个有点坑要我在处理一遍):这里本来是查7天的 但是把7天全部查出来有点多那就查三天的把;五:返回信息,根据方法返回的信息返回给机器人去处理;

代码打包上传;

机器人配置

微信公众号智能回答

微信公众号智能回答

接入公众号,测试:

微信公众号智能回答

不对呀,怎么是错误信息呢;发个腾讯工单问问:

微信公众号智能回答

一直持续到晚上十二点才发现,没有发布;
重新发布后:

微信公众号智能回答

还是报错:

微信公众号智能回答

回复给腾讯;
三点多睡觉时候,不行我要在测试下,结果可以了;
看效果图:

微信公众号智能回答

微信公众号智能回答

(本公众号使用的订阅号也可以正常对接)

本作品采用《CC 协议》,转载必须注明作者和本文链接
手写十万行代码
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 1
Jennie

快扶我起来,bug 还没写完 :joy:

2年前 评论
wade (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!