還記得之前說過 LINE 只能有一個 Webhook 嗎?所以這次的主題選單功能我們也要和前兩個功能一樣的工作流去做,先把 Webhook 和之前做的功能節點斷開,當成現在要做的節點開頭,專注在新功能之後再整合在一起我覺得比較不會做到一半腦袋打結。
點擊試算表最底部的「+」新增一個表單「sheet2」。
Code
節點內容將之前接在 Webhook 的 Code
節點內容作一點更動,輸入以下程式碼:
const body = $json.body.events;
const userId = $json.body.events[0].source.userId;
const message = $json.body.events[0].message.text;
const topic = message.replace('訂閱', '').trim();
const menuTopicCN = message.replace('我想看', '').replace('新聞!', '').trim(); //1.提取主題
let menuTopicEN;
switch(menuTopicCN){ //2.轉換英文
case "國際": menuTopicEN = "intworld"; break;
case "科技": menuTopicEN = "technology"; break;
case "娛樂": menuTopicEN = "stars"; break;
}
//3.新增表單欄位
const row = $json;
row.intworld = row.intworld;
row.technology = row.technology;
row.stars = row.stars;
row.menuTopicEN = row.menuTopicEN;
return {
json: {
message,
userId,
topic,
menuTopicEN,
intworld: row.intworld,
technology: row.technology,
stars: row.stars,
lineMessageBody: body
}
};
這邊新增了幾個東西:
在 Code 節點後新增一個 Google Sheets
節點。
應該在做前兩個功能的時候就對這個節點很熟悉了吧!
唯一要注意的是要記得現在資料要存在 sheet2 喔!
先將三個主題的欄位都設為 0
,之後使用者點擊表單的時候會更新次數。
今天我們就先做到這邊,把準備工作做完,接下來進入到核心邏輯的時候才會比較順利。
明天(Day 24)會進入到最多邏輯思考判斷的部分,讓表單欄位根據點擊次數去做欄位更新。