tags: ItIron2022
Javascript
前言
在台灣現在已經越來越多店家或是公司導入line bot的服務,不但可以提供一些智能化的協助,也會主動提供一些資訊給第一次使用的使用者,讓許多服務都不需要再透過人工處理,對雙方都是很棒的功能!我們今天就來做一個最基本、有著自動回覆功能的line bot吧!
事前準備
為了順利完成今天的示範,請你預先準備好以下的東西
- 一個Line帳號
- 一個Railway帳號(可參考昨天的文章)
- 對express.js最最基本的了解
- 一些你想公開的資訊(個人簡介、作品集或履歷等)
Getting started
Step1: 登入Line開發者帳號
首先你需要到Line提供的開發者平台登入自己的帳號,登入完成後點選console按鈕就會進入到目前你專案的dashboard

在左側可以看到你目前參與的專案以及對應的角色權限

Step2: 建立Provider & Channel
接著請你點選下方的Create按鈕建立一個新的Provider,若你之前並沒有做過任何line專案,在中間的區塊也可以直接選取你想建立的Provider內容,Provider你可以將它想成一個獨立的專案,你可以在後續的設置過程中決定你要使用哪一些line的api!

按下create之後首先會需要輸入你這個provider的名稱,唯一需要注意的是取得名稱不能含有"Line"這個字串,照圖片中這樣的名稱會過不了

接著會進入到專案面板,這邊我們需要選取我們這個專案要建立的Channel,也就是要應用哪些line提供的服務,在這邊請你選擇Messaging API服務

這邊你會需要填入一些基本資訊,分類的部分暫時隨便選沒關係!

順利建立之後你就會到Channel的設定畫面中,這邊會包含著許多我們等等要用到的資訊!

這邊要請你取得以下的資訊
在Basic Settings的頁面取得
- Channel ID
- Channel secret
在Messaging API的頁面取得
- Channel access token
accessToken的部分一開始會是空白,你需要點選下方的issue按鈕自己新增一個

目前的階段我們在line開發者頁面需要做的事情就這些了,之後我們還需要再回來一趟,不過暫時這樣就可以了!
Step3: 建立本地專案結構
我們這次的專案結構非常單純,完全就是我們之前做過的東西,請你按照以下步驟建立整個專案結構
- 透過npm init -y 建立專案初始結構
- 建立.gitignore檔案並寫入以下的內容
/node_modules
- 透過git init指令在本地建立git
- 透過npm i express linebot安裝所需要的套件
- 建立index.js檔案
到這邊你的專案結構應該要是這個樣子

Step4: 將本地專案推上遠端
最後我們需要將這個只有空殼的專案先推上github,請你先在github上建立一個repo(或是你要從本地直接匯入專案也行~!)

接著照著以下的指令將你的專案推送到遠端repo,別忘了替換掉git檔案的位置,別推到示範的專案上
git add .
git commit -m "first commit"
git branch -M main
git remote add origin git@github.com:windate3411/ItIron2022-line-bot-demo.git
git push -u origin main
總結
今天暫時先到這邊就可以了,明天我們將會完成基本的js邏輯並透過railway部署我們的專案,這個機器人目的是類似自我介紹的功能,你可以在今天完成專案設置後開始準備一些你想公開的資訊,明天我們會將這些東西放在機器人的回覆模板中,這麼一來就是一個有趣的自我介紹囉!
轉職Q & A
Danny,我覺得我目前公司的環境不是很健康,雖然我很想去試試外面的機會,但我主管又對我非常好,總覺得離開會很對不起他,我該怎麼做比較好?
老話一句,這種問題我並不會給直接的答案,但我會提供我自己思考的方向。我認為不管在什麼情況下,人情永遠是你最不該考慮的點,是人都會想追求更適合自己的環境,這並不存在什麼對錯,職場上來來去去這一點極端的正常,只要事前有通知、不要讓自己後續的工作沒人接上,念在舊情這種事情我覺得是不太明智的。 若你主管真的是為你好,那麼對你追求更好的機會應當是祝福才對,同樣的道理也適用在同事身上,當你有同事要為了更好的機會離開了,你要做的也只是祝福而非人情綁架,己所不欲勿施於人就是個很好的總結!
當然,我並不是建議你一有問題就直接離職,這種事情自然需要大量的溝通協調再做決定,我想表達的只是若你真的要走,人情之類的概念不應該是影響你決策的因素,這並不是什麼忘恩負義之類的狗屁,往更好的地方去單純就是理所應當的事情。