打造 Line ChatBot 婚禮聊天機器人
這篇文章從婚禮結束到現在大概拖了一年半 😓,最初的起因是覺得 google 表單的婚禮統計好無趣,身為一個工程師應該要用更 geek 的方式來玩自己的婚禮才對 ,剛好看到 Line 正在推廣 Messaging API,掃了一下文件覺得似乎不難上手,加上 Line 在台灣各年齡層的高覆蓋率很適合有長輩的婚禮場合,於是就開啟了這個小專案 . (感謝友人 JM 夫婦今年請我重做了一版給他們婚禮使用,不然這篇文章可能還沉在大海裡 Orz)
建置環境
由於要以最省錢的方式打造,使用的服務幾乎都是免費的
- Heroku: server hosting
- Fixie: 因為需要 static ip for HTTPS
- Postgres: Database
- Line Bot Go SDK
介面設定
一開始設定這個 chat bot 的功能就是收集婚禮邀請表單,所以預設了六個選單按鈕 (LINE MANAGER 設定圖文選單)
囍宴地點可以用 google map 呈現很方便
原本的 Google 表單問卷就會變成 Line bot 一問一答的方式,填寫完在後台匯出 csv or excel
婚紗照 Line 一排可以放五張
人工(X) 工人(O)智慧
正經的項目完成後就要做一些趣味的事,一個簡單的 Line Bot 大部分只能回答一些基本設定的問題,本來想要去串微軟的 LUIS 來幫 Line Bot 加分,最後趕著上線還是選擇了工人智慧,因為邀請的朋友賓客通常是自己熟識的人,所以大概可以猜到這些人會丟什麼奇怪的訊息來 XD,於是我就很暴力的建了一堆表,如果遇到某些字串就回覆對應的訊息,結果就像這樣:
婚禮當天的互動
完成了婚禮表單,覺得就只有這樣太浪費了,於是決定在婚禮現場也用 Line Bot 做點事情,其實這個賭很大,因為沒有經過完善的測試,如果一出包也不可能新郎當場 Debug,幸好當天很順利沒遇到什麼問題
Line Beacon
可能很少人知道 Line Beacon 的功能,主要就是註冊一個藍芽發送器,經過它範圍內的 Line Bot 都會收到通知,很幸運的有個朋友剛好去參加 Line 的開發者大會得到一個 Line Beacon 小禮物,我就借來當我的婚禮小遊戲的啟動通知
婚禮大銀幕訊息彈幕
這想法是婚禮前不到一個月靈光乍現,結果差點累死自己 XD,想做到的就是婚禮當天賓客用 Line Bot 丟的訊息會直接出現在大螢幕上飄過,概念很簡單就是刻一個前端網頁一直輪播婚紗照,然後用 websocket 串接 Line Bot 後台在網頁上做出飄過的訊息,據說當天賓客亂玩了一堆徵才文、交友文,比較正常的像下面這樣:
結語
雖然拖稿拖了一年多,這篇回憶起來還是覺得蠻有趣的,畢竟是自己一生一次的婚禮,用自己喜歡的方式玩了一個小 project 也很開心.