[{"id":"b33b0acb.c9f7f8","type":"comment","z":"d61d9a83.2e2728","name":"Hot to use","info":"1. 申請 line develop trail 官方帳號,做一些設定,得到token\n2. 填入\"前置設定\"節點裡面的config設定 (assistant apikey/assistant workspace_id/VR apikey/line token)\n3. 這是Line專用的回覆模型\n4. webhook url 為 https://.mybluemix.net/mylinebot \n5. Assistant / VR server若非預設的達拉斯,須更改service endpoint","x":80,"y":640,"wires":[]},{"id":"4af43dec.422a54","type":"http in","z":"d61d9a83.2e2728","name":"","url":"/mylinebot","method":"post","upload":false,"swaggerDoc":"","x":100,"y":680,"wires":[["f9c7faef.f95cb8","e0b285f1.b13d58","16bf52c6.97329d"]]},{"id":"e0b285f1.b13d58","type":"http response","z":"d61d9a83.2e2728","name":"","statusCode":"200","headers":{},"x":300,"y":680,"wires":[]},{"id":"3904554.a9c05aa","type":"http request","z":"d61d9a83.2e2728","name":"LINE REPLY API","method":"POST","ret":"txt","url":"","tls":"","x":810,"y":820,"wires":[["25feecc7.ac1e14"]]},{"id":"8dae6add.8c0968","type":"function","z":"d61d9a83.2e2728","name":"前置設定","func":"msg.webhookObj = msg.payload;\nmsg.returnMsg = [];\nmsg.config = {\n \"assistant-api-key\": \"\",\n \"assistant-workspace\": \"\",\n \"vr-api-key\": \"\",\n \"line-token\": \"\"\n}\nreturn msg;","outputs":1,"noerr":0,"x":500,"y":740,"wires":[["b68d7313.407de"]]},{"id":"f9c7faef.f95cb8","type":"debug","z":"d61d9a83.2e2728","name":"webhook傳入","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":300,"y":640,"wires":[]},{"id":"16bf52c6.97329d","type":"switch","z":"d61d9a83.2e2728","name":"判斷事件種類","property":"payload.events[0].type","propertyType":"msg","rules":[{"t":"eq","v":"message","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":300,"y":720,"wires":[["8dae6add.8c0968"],["2949bb8d.397e74"]]},{"id":"2949bb8d.397e74","type":"debug","z":"d61d9a83.2e2728","name":"其他暫時不處理的事件","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":540,"y":700,"wires":[]},{"id":"b68d7313.407de","type":"switch","z":"d61d9a83.2e2728","name":"判斷訊息類型","property":"payload.events[0].message.type","propertyType":"msg","rules":[{"t":"eq","v":"text","vt":"str"},{"t":"eq","v":"image","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":160,"y":820,"wires":[["3bfa5cff.b02834"],["e73bdb7f.440ae8"],["f2011cdb.9935f"]]},{"id":"f2011cdb.9935f","type":"function","z":"d61d9a83.2e2728","name":"其他先不處理的訊息","func":"msg.returnMsg.push({\n 'type': 'text',\n 'text': `這是 ${msg.payload.events[0].message.type} 訊息,這種訊息先不管`\n});\n\nreturn msg;","outputs":1,"noerr":0,"x":380,"y":860,"wires":[["6db378db.717d18"]]},{"id":"3bfa5cff.b02834","type":"link out","z":"d61d9a83.2e2728","name":"進入 WATSON","links":["4945477b.231db8"],"x":295,"y":780,"wires":[]},{"id":"cf89500d.15606","type":"link in","z":"d61d9a83.2e2728","name":"出WATSON","links":["201790a.985897","2ff470c4.b888b"],"x":455,"y":780,"wires":[["6db378db.717d18"]]},{"id":"4945477b.231db8","type":"link in","z":"d61d9a83.2e2728","name":"進入 WATSON","links":["3bfa5cff.b02834"],"x":175,"y":940,"wires":[["58bb9c28.a65444"]]},{"id":"201790a.985897","type":"link out","z":"d61d9a83.2e2728","name":"出WATSON","links":["cf89500d.15606"],"x":755,"y":940,"wires":[]},{"id":"58bb9c28.a65444","type":"function","z":"d61d9a83.2e2728","name":"進 Assistant","func":"var source = msg.payload.events[0].source;\nvar to = \"\";\n\nif(source.type == 'group') {\n to = source.groupId;\n} else if (source.type == 'room') {\n to = source.roomId;\n} else {\n to = source.userId;\n}\n\nmsg.user = to;\nmsg.params = {\n \"workspace_id\": msg.config[\"assistant-workspace\"],\n \"apikey\": msg.config[\"assistant-api-key\"]\n}\nmsg.payload = msg.payload.events[0].message.text;\n\nreturn msg;","outputs":1,"noerr":0,"x":290,"y":940,"wires":[["71544858.6bac18"]]},{"id":"71544858.6bac18","type":"watson-conversation-v1","z":"d61d9a83.2e2728","name":"","workspaceid":"","multiuser":true,"context":true,"empty-payload":false,"default-endpoint":true,"service-endpoint":"","timeout":"","optout-learning":false,"x":440,"y":940,"wires":[["7188a8b1.5d47a8","7dd9a38.c4ab15c"]]},{"id":"7188a8b1.5d47a8","type":"debug","z":"d61d9a83.2e2728","name":"Assistant 回應","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":620,"y":900,"wires":[]},{"id":"6db378db.717d18","type":"function","z":"d61d9a83.2e2728","name":"組 call api 內容","func":"var source = msg.webhookObj.events[0].source;\nvar to = '';\n\nto = msg.webhookObj.events[0].replyToken;\n\nmsg.url = \"https://api.line.me/v2/bot/message/reply\",\nmsg.headers= {\n\t\"Content-Type\": \"application/json\",\n\t\"Authorization\":`Bearer ${msg.config[\"line-token\"]}` \n};\nmsg.payload = {\n\t\"messages\": msg.returnMsg, \n\t\"replyToken\": to\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":600,"y":820,"wires":[["3904554.a9c05aa","5f73ce6a.dabf9"]]},{"id":"7dd9a38.c4ab15c","type":"function","z":"d61d9a83.2e2728","name":"重組回覆訊息","func":"msg.returnMsg.push({\n type: 'text',\n text: msg.payload.output.text[0]\n})\nreturn msg;","outputs":1,"noerr":0,"x":620,"y":940,"wires":[["201790a.985897"]]},{"id":"5f73ce6a.dabf9","type":"debug","z":"d61d9a83.2e2728","name":"傳送物件","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":780,"y":780,"wires":[]},{"id":"e73bdb7f.440ae8","type":"link out","z":"d61d9a83.2e2728","name":"進入 VR","links":["70faf4d5.d4556c"],"x":295,"y":820,"wires":[]},{"id":"fd638a8a.5a2378","type":"link in","z":"d61d9a83.2e2728","name":"出 VR","links":["185d6383.754e0c"],"x":455,"y":820,"wires":[["6db378db.717d18"]]},{"id":"70faf4d5.d4556c","type":"link in","z":"d61d9a83.2e2728","name":"進入 VR","links":["e73bdb7f.440ae8"],"x":115,"y":1080,"wires":[["f343fe86.0c932"]]},{"id":"a9e12e49.464c5","type":"visual-recognition-v3","z":"d61d9a83.2e2728","name":"VR","vr-service-endpoint":"https://gateway.watsonplatform.net/visual-recognition/api","image-feature":"classifyImage","lang":"en","x":550,"y":1080,"wires":[["a8bcd31f.7037c","fd90a95d.8bf6f8"]]},{"id":"185d6383.754e0c","type":"link out","z":"d61d9a83.2e2728","name":"出 VR","links":["fd638a8a.5a2378"],"x":855,"y":1080,"wires":[]},{"id":"f343fe86.0c932","type":"function","z":"d61d9a83.2e2728","name":"抓圖片","func":"msg.url = `https://api.line.me/v2/bot/message/${msg.payload.events[0].message.id}/content`\nmsg.headers= {\n\t\"Authorization\": `Bearer ${msg.config[\"line-token\"]}`\n};\nreturn msg;","outputs":1,"noerr":0,"x":210,"y":1080,"wires":[["d473447f.06e648"]]},{"id":"d473447f.06e648","type":"http request","z":"d61d9a83.2e2728","name":"Get Image Content","method":"GET","ret":"bin","url":"","tls":"","x":380,"y":1080,"wires":[["a9e12e49.464c5"]]},{"id":"a8bcd31f.7037c","type":"function","z":"d61d9a83.2e2728","name":"整理辨識結果","func":"vrResult = '辨識結果:\\n';\n\nmsg.result.images[0].classifiers[0].classes.forEach(function(item){\n vrResult += `${item.class} (${item.score})\\n`;\n});\n\nmsg.returnMsg.push({\n 'type': 'text',\n 'text': vrResult\n});\n\nreturn msg;","outputs":1,"noerr":0,"x":720,"y":1080,"wires":[["185d6383.754e0c"]]},{"id":"1d9f2ec3.8370a1","type":"comment","z":"d61d9a83.2e2728","name":"文字","info":"","x":370,"y":780,"wires":[]},{"id":"4ecb6df8.82ca04","type":"comment","z":"d61d9a83.2e2728","name":"圖片","info":"","x":370,"y":820,"wires":[]},{"id":"fd90a95d.8bf6f8","type":"debug","z":"d61d9a83.2e2728","name":"VR 辨識結果","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"result","x":720,"y":1040,"wires":[]},{"id":"127f8f43.35a561","type":"catch","z":"d61d9a83.2e2728","name":"","scope":["71544858.6bac18"],"x":450,"y":980,"wires":[["c3fbfeee.3cc6d"]]},{"id":"a6844a93.2fb2a8","type":"catch","z":"d61d9a83.2e2728","name":"","scope":["d473447f.06e648","a9e12e49.464c5"],"x":550,"y":1120,"wires":[["856c3fc0.a2062"]]},{"id":"c3fbfeee.3cc6d","type":"function","z":"d61d9a83.2e2728","name":"Assistant Error","func":"msg.returnMsg.push({\n type: 'text',\n text: `呼叫 Assistant 錯誤\\n錯誤訊息: ${msg.error.message}`\n})\nreturn msg;","outputs":1,"noerr":0,"x":620,"y":980,"wires":[["201790a.985897"]]},{"id":"856c3fc0.a2062","type":"function","z":"d61d9a83.2e2728","name":"VR Error","func":"msg.returnMsg.push({\n type: 'text',\n text: `呼叫 VR 錯誤\\n錯誤訊息: ${msg.error.message}`\n})\nreturn msg;","outputs":1,"noerr":0,"x":700,"y":1120,"wires":[["185d6383.754e0c"]]},{"id":"6792ecd5.fcd834","type":"comment","z":"d61d9a83.2e2728","name":"文字處理","info":"","x":220,"y":900,"wires":[]},{"id":"d405e264.2455e","type":"comment","z":"d61d9a83.2e2728","name":"圖片處理","info":"","x":160,"y":1040,"wires":[]},{"id":"25feecc7.ac1e14","type":"debug","z":"d61d9a83.2e2728","name":"傳送結果","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":1000,"y":820,"wires":[]}]