iT邦幫忙

2022 iThome 鐵人賽

DAY 29
0
自我挑戰組

arduino基礎實作系列 第 29

day29:linebot機器人-linebot(4)

  • 分享至 

  • xImage
  •  

第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.');
});
 

上一篇
day28:linebot及heroku的連動-linebot(3)
下一篇
day30:arduino跟heroku之間的聯接-linebot(5)
系列文
arduino基礎實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言