微信公眾號智慧回答

wade發表於2020-05-25

閒來無事,上騰訊看看有什麼好的產品開發。
。。騰訊智慧對話平臺,進去瞅瞅。
開啟文件先看看: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 協議》,轉載必須註明作者和本文連結

相關文章