第29天,我要實作linebot機器人聊天功能。
最開始要先完成heroku環境的安裝。
首先進入heroku的介面,並點擊下面的超連結
往下滑到這邊,選擇自己所使用的系統,並將其安裝完成。
再來就可以回到上個頁面
到這個頁面後先建立一個新的資料夾,並開啟該資料夾的cmd介面。
照著heroku畫面上的指令輸入。
就會看到新建了一個檔案。
再來將這三個檔案放入資料夾中(https://drive.google.com/file/d/1WJhq2J7WpGLpnjmcBaL527hHg9pTxU4D/view?usp=sharing)
再利用cmd指令輸出下列三個指令。
最基本的建置就完成了。
接著是機器人的程式碼
先打開index的檔案,就會看到下面這些程式碼。
上面是聯接linebot的部分,不用理會。
這邊則是heroku網頁聯接的部分,後面在聯接arduino時會利用這邊讓它抓取資料,這邊先打上程式讓它網頁開啟的時候顯示文字。
最重要的聊天機器人程式則是在這。
接著利用判斷是讓其在接收到特定文字後回復。
再來更新原本的程式。
更新完畢後可以透過這裡打開網頁
程式沒有出錯的話就會正常的顯示文字
接著就可以到line上去嘗試發送訊息。
程式碼
const linebot = require('linebot');
const express = require('express');
const bot = linebot({
channelId: process.env.CHANNEL_ID,
channelSecret: process.env.CHANNEL_SECRET,
channelAccessToken: process.env.CHANNEL_ACCESS_TOKEN
});
const app = express();
const linebotParser = bot.parser();
app.get('/',function(req,res){
res.send("ok");
});
app.post('/linewebhook', linebotParser);
bot.on('message', function (event) {
if(event.message.text=='hello'){
event.reply("world!!").then(function (repos) {
console.log('Success');
}).catch(function (error) {
console.log('Error');
});
}
});
app.listen(process.env.PORT || 80, function () {
console.log('LineBot is running.');
});