# Directus 使用教學 1. 點擊 GOSU BAR 左方清單「內容管理」>「登入Directus,管理你的內容」 ![](https://i.imgur.com/CqlJoqZ.png) ![](https://i.imgur.com/K1Lz9sA.png) 3. 點擊 Directus 左方清單齒輪 ICON「管理者設定」 > 「集合與欄位」 ![](https://i.imgur.com/pJIgpF4.png) ![](https://i.imgur.com/DnaUiBS.png) 6. 點擊右上角藍色 + ICON「新建集合」 ![](https://i.imgur.com/W53ipZU.png) 8. 集合名稱輸入 qa,把下方預設欄位都取消掉 ![](https://i.imgur.com/606W86i.png) 10. 點擊 Translation + Create Item > 選擇一種語言:Taiwanese Mandarin(Taiwan) > 對應的欄位名稱: 問答機器人 ![](https://i.imgur.com/xA4bfLp.png) 12. 新增欄位 > 文字輸入 > 名稱: question > 翻譯 + Create Item > 選擇一種語言:Taiwanese Mandarin(Taiwan) > 對應的欄位名稱: 題目 > 下一個 > 儲存 ![](https://i.imgur.com/J63ejxv.png) ![](https://i.imgur.com/tKKgyNW.png) ![](https://i.imgur.com/l8x3pPO.png) 14. 以相同方式建立(答案:answer/錯誤選項1:option1/錯誤選項2:option2) ![](https://i.imgur.com/mvjNnP8.png) 16. 點擊左方集合: 問答機器人 17. 點擊右上角藍色 + ICON「新建資料」,輸入相關資料 ![](https://i.imgur.com/JJPudLd.png) ![](https://i.imgur.com/RBmEerd.png) # 流程 ![](https://i.imgur.com/qn4TMof.png) ![](https://i.imgur.com/vwITwAo.png) - 排序欄位:? 代表隨機排列 - 如果要按照其他資料排列可以直接輸入欄位名稱,例如: id - 如果要到序排列,可以輸入負號,例如: -id - 如果要多個欄位排序,可以用逗點隔開,例如 id,name ### 簡化物件結構 & 打亂選項 ```javascript= // 原本的回傳的資料結構比較複雜,所以只取第一筆回傳值顯示 tmp.data = tmp.data.data[0]; // 將答案與錯誤選項合併再一起,並且透過隨機排序,把選項打亂 // 補充: 透過 Math.random 進行 sort 的隨機機率並不公平 // 可以參考 https://shubo.io/javascript-random-shuffle/ tmp.options = [tmp.data.answer, tmp.data.option1, tmp.data.option2]; tmp.options = tmp.options.sort(() => Math.random() > 0.5); ``` #### Directus 原始回傳結構 ```json= { "data": [ { "question": "鐵達尼號郵輪是哪一年沈默的?", "answer": "1912年", "option1": "1913年", "option2": "1914年" } ], "total": 2 } ``` ### 儲存答案 ```javascript tmp.data.answer ``` ### 發送訊息 ``` ${tmp.data.question} ${tmp.options[0]} ${tmp.options[1]} ${tmp.options[2]} ``` ### 等待回答 ![](https://i.imgur.com/GtpvC1D.png) - 額外事件會等使用者觸發到此節點時才開始接收事件 - 基本設定都會是 執行次數:1, 存活對象: 使用者, 執行模式: 獨佔 #### 虛線 在平台中,如果要等使用者進行下一個行為時將會用虛線顯示。 - 需要注意的是,在虛線前的暫存變數(tmp.xxx)、及對話內容(record.content)無法於虛線後使用