Skip to main content

防疫口罩大作戰

前情提要

 

因 武漢肺炎疫情、口罩實名制 等重大事件,當衛福部將口罩庫存數量以 open data  的方式開放後,掀起了一場口罩黑客松的熱潮,口‍罩供‍需資‍訊平‍台 中可以看到,許多貢獻者在數個小時後製作出各式各樣的應用,在這些貢獻者的努力下,透過科技與 open data 彌平了資訊落差。

 

透過 GOSU BAR 擁抱 open data 製作出你的口罩庫存查詢聊天機器人

短時間的設定,你也可以做出自己的聊天機器人,話不多說,先來看看成果吧!

 

製作教學

製作完成的流程如上圖,首先我們先建立兩個起始點,分別是收到文字、加入好友。

設定一個決策點,區分引導類型的文字:

當觸發引導文字或成為好友時,提供使用者引導對話:

           

 

當使用者輸入其他資訊時,要到 opendata 中 健保特約機構口罩剩餘數量明細清單 抓取最新資料並篩選後提供卡片

首先使用 執行API 節點抓取 CSV 資料, URL: https://data.nhi.gov.tw/resource/mask/maskdata.csv,型態: CSV

為了使用者體驗,當 open data 在維修、更新等情況資料無法讀取時,我們要給我使用者文字訊息回饋:

當讀取成功時,我們要透過 執行程式碼節點 完成資料整理以及篩選:

```

let content = (record.content || "").trim();

tmp.data = tmp.data.slice(1).map(row => {
return{
code: row[0],
name: row[1],
address: row[2],
phone: row[3],
adultMaskCount: row[4],
childMaskCount: row[5],
updatedAt: row[6]
}
}).filter(d => {
return d.name.includes(content)|| d.address.includes(content)
}).sort((a, b) => {
return parseInt(b.adultMaskCount)- parseInt(a.adultMaskCount);
}).slice(0, 10);


tmp.i = -1;


```