可以透過QRCode加入營養成份LINE bot。

食物,運動,與身體平衡
最近在看代謝型態飲食全書,裡面提到吃下的東西
與運動
,與體內的平衡和慢性病的產生有相當密切的關係。要讓身體重新回復到平衡的健康狀態,需要選擇適合自己的食物(營養素的比例)並搭配適當運動(有氧 + 無氧)與充足睡眠。
其中我們所選擇的一天三餐與餐間的飲食習慣
,則是潛移默化地影響我們的健康。
當我們持續吃不好的食物或錯誤的營養素比例,則讓體內的系統處在有的養分過多,有的養分不足的持續不平衡的狀態。這些不平衡讓各種體內各種系統無法正常工作。例如一餐吃進過多的精製糖份可能造成血液中的糖份快速升高,胰臟必須快速分泌大量胰島素來協助細胞消化糖份,當這樣不平衡的狀態維持久了,就會造成胰臟的過度負擔。當體內的代謝開始失常時,我們可以先觀察到一些亞健康症狀,累積久了就成了各種慢性病。因此選擇適合自己的食物
是相當重要的。
Bot 怎麼做成的
要選擇適合自己的食物
時,我除了先做了測驗了解個人飲食中三大營養素(碳水化合物
、蛋白質
、脂肪
)的參考比例,也想知道每樣吃下的東西大致的營養成份。
我想到如果有各種食材的營養成份資料,就可以做成聊天機器人或App以供隨時查詢。我搜尋了一下,發現政府資料開放平台上有公開的「食品營養成分資料集」,提供csv, json, xml等格式下載。
下載開啟資料後,發現原始的JSON格式還是蠻…有趣的。
下載的JSON格式資料長這樣:
[{"食品分類":"魚貝類"},{"資料類別":"樣品基本資料"},{"整合編號":"J11101"},{"樣品名稱":"鮸魚"},{"俗名":"鮸仔,敏魚,鮸,敏仔魚"},{"樣品英文名稱":"Brown croaker; Mi-iuy croaker"} |
…對於這種JSON存法只能呵呵。
重新下載了csv檔,這次總算正常了點。
解開後的csv檔案有接近50MB大小。寫了個腳本過濾掉不需要的資料,並轉換成需要的格式後,輸出總共不到500KB,就算放到App裡也還合適。
這次使用bottender框架來連接到LINE。由於LINE需要HTTPS連線,開發的過程中使用了ngrok來讓LINE可以連到開發中的電腦,免去另外架設公開網站的麻煩。
此外還使用了Fuse.js這個模糊搜尋函式庫,在搜尋的時候只要打部份內容,就可以搜出相關的條目。
整個bot的軟體架構如下
我可以加這個Bot嗎?
可以透過QRCode加入營養成份LINE bot。

或點選以下連結
因為使用免費的Host,不能保證bot永遠在線,若第一次沒回應,可以稍等半分鐘後再試。
會不會 Open Source
目前程式還沒有好好整理,尚不打算開源。