下期第14堂[雲端服務機器人] Line機器人回應各種格式


上週收穫

上週有同學提問 if 的語法,其實java script的 if 語法有兩種,
一種是像C語言那樣用 if (…) { }
另外一種是不用{ },而使用類似 python 的縮排,但是跟 python 比起來要(…),卻又不用打 :
同學會搞混其實是值得恭喜的事情,因為這代表你會很多種語言,才有辦法搞混。

這就像是有一個人擁有5千萬台幣,他會煩惱要買房子、還是買股票、還是買車子?
這種煩惱叫做“有錢人的煩惱”, 有這種煩惱才是好事


https://www.w3schools.com/python/trypython.asp?filename=demo_if2

javascript


今日主題

Line機器人,不只可以回應文字,還可以回應貼圖、圖片、位置…


貼圖回應

順便學習substr()函數

function doPost(e) {
//輸入 channel_access_token
var CHANNEL_ACCESS_TOKEN = '';
var msg= JSON.parse(e.postData.contents);

//for test
Logger.log(msg);
console.log(msg);

//分析收到訊息
var replyToken = msg.events[0].replyToken;
var userMessage = msg.events[0].message.text;

if (typeof replyToken === 'undefined') {
return;
};


  var reply_message = [{
    'type': 'sticker',
    'packageId':userMessage.substr(3,1),
    'stickerId':userMessage.substr(5,1)
  }];


//Line文檔,別亂改
var url = 'https://api.line.me/v2/bot/message/reply';
UrlFetchApp.fetch(url, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': replyToken,
'messages': reply_message,
}),
});
}

關鍵字傳送對應貼圖

function doPost(e) {
//輸入 channel_access_token
var CHANNEL_ACCESS_TOKEN = '';
var msg= JSON.parse(e.postData.contents);

//for test
Logger.log(msg);
console.log(msg);

//分析收到訊息
var replyToken = msg.events[0].replyToken;
var userMessage = msg.events[0].message.text;

if (typeof replyToken === 'undefined') {
return;
};



let i=0;

if ( userMessage.indexOf('開心') != -1 ){
  i=2;
}else if( userMessage.indexOf('驚訝') != -1 ){
  i=3;
}

var reply_message = [{
    'type': 'sticker',
    'packageId':'1',
    'stickerId': i
}];


//Line文檔,別亂改
var url = 'https://api.line.me/v2/bot/message/reply';
UrlFetchApp.fetch(url, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': replyToken,
'messages': reply_message,
}),
});
}

今天小挑戰
下面四種回應格式,挑選一種實做看看

下面是各種格式的用法,原始文件來自

https://developers.line.biz/en/docs/messaging-api/message-types/


圖片

“type”: “image”,
“originalContentUrl”: “圖片網址”,
“previewImageUrl”: “縮圖網址”

1MB 以下的 JPG 圖檔,網址必須是 https 開頭。


影片

“type”: “video”,
“originalContentUrl”: “影片網址”,
“previewImageUrl”: “縮圖網址”

接受 1 分鐘以下 10MB 以下的 MP4 影片檔,網址必須是 https 開頭。


聲音

“type”: “audio”,
“originalContentUrl”: “聲音檔網址”,
“duration”: 60000


地標


“type”: “location”,
“title”: “my location”,
“address”: “1-6-1 Yotsuya, Shinjuku-ku, Tokyo, 160-0004, Japan”,
“latitude”: 35.687574,
“longitude”: 139.72922


小挑戰參考答案

您可能也會喜歡…

發佈留言