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