# Directus 使用教學 1. 點擊 GOSU BAR 左方清單「內容管理」>「登入Directus,管理你的內容」   3. 點擊 Directus 左方清單齒輪 ICON「管理者設定」 > 「集合與欄位」   6. 點擊右上角藍色 + ICON「新建集合」  8. 集合名稱輸入 qa,把下方預設欄位都取消掉  10. 點擊 Translation + Create Item > 選擇一種語言:Taiwanese Mandarin(Taiwan) > 對應的欄位名稱: 問答機器人  12. 新增欄位 > 文字輸入 > 名稱: question > 翻譯 + Create Item > 選擇一種語言:Taiwanese Mandarin(Taiwan) > 對應的欄位名稱: 題目 > 下一個 > 儲存    14. 以相同方式建立(答案:answer/錯誤選項1:option1/錯誤選項2:option2)  16. 點擊左方集合: 問答機器人 17. 點擊右上角藍色 + ICON「新建資料」,輸入相關資料   # 流程   - 排序欄位:? 代表隨機排列 - 如果要按照其他資料排列可以直接輸入欄位名稱,例如: 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]} ``` ### 等待回答  - 額外事件會等使用者觸發到此節點時才開始接收事件 - 基本設定都會是 執行次數:1, 存活對象: 使用者, 執行模式: 獨佔 #### 虛線 在平台中,如果要等使用者進行下一個行為時將會用虛線顯示。 - 需要注意的是,在虛線前的暫存變數(tmp.xxx)、及對話內容(record.content)無法於虛線後使用
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.