Showing
1 changed file
with
59 additions
and
48 deletions
| ... | @@ -10,67 +10,78 @@ app.use(bodyParser.json()); | ... | @@ -10,67 +10,78 @@ app.use(bodyParser.json()); |
| 10 | app.use(bodyParser.urlencoded({ | 10 | app.use(bodyParser.urlencoded({ |
| 11 | extended: true | 11 | extended: true |
| 12 | })); | 12 | })); |
| 13 | +app.use('/static', express.static('data/Image data')); | ||
| 13 | 14 | ||
| 14 | app.use('/api', apiRouter); | 15 | app.use('/api', apiRouter); |
| 15 | 16 | ||
| 17 | + | ||
| 16 | apiRouter.post('/champion', function(req, res) { | 18 | apiRouter.post('/champion', function(req, res) { |
| 17 | - const championName = req.body["userRequest"]["utterance"]; | 19 | + console.log(req.body); |
| 18 | - const imageUrl = "data/Image data/champions/" + championName + ".png"; | 20 | + var responseBody = {}; |
| 19 | - // data/Image data/champions/갱플랭크.png | 21 | + const championName = req.body["action"]["params"]["champion_name"]; |
| 20 | - console.log(imageUrl); | 22 | + console.log(championName); |
| 21 | - let championRawData = fs.readFileSync('data/json data/champions.json'); | 23 | + if (championName == undefined){ |
| 22 | - let championData = JSON.parse(championRawData); | 24 | + var championList = ""; |
| 23 | - var i = 0; | 25 | + let championRawData = fs.readFileSync('data/json data/champions.json'); |
| 24 | - for (i; i < championData.length; ++i){ | 26 | + let championData = JSON.parse(championRawData); |
| 25 | - if(championData[i].name == championName){ | 27 | + for (var i = 0; i < championData.length; ++i){ |
| 26 | - break; | 28 | + championList += (championData[i].name + '\n'); |
| 27 | - } | 29 | + }; |
| 28 | - }; | 30 | + responseBody = { |
| 29 | - const championQuery = championData[i].championId.substring(4); | 31 | + "version": "2.0", |
| 30 | - const responseBody = { | 32 | + "template": { |
| 31 | - "version": "2.0", | 33 | + "outputs": [ |
| 32 | - "template": { | ||
| 33 | - "outputs": [ | ||
| 34 | - { | ||
| 35 | - "basicCard": { | ||
| 36 | - "title": championName, | ||
| 37 | - "description": "비용 : " + championData[i].cost + "\n" + "시너지 : " + championData[i].traits, | ||
| 38 | - "thumbnail": { | ||
| 39 | - "imageUrl": "data/Image data/champions/" + championName + ".png" | ||
| 40 | - }, | ||
| 41 | - "buttons": [ | ||
| 42 | { | 34 | { |
| 43 | - "action": "webLink", | 35 | + "simpleText": { |
| 44 | - "label": "상세한 정보 확인", | 36 | + "text": "원하시는 챔피언 이름(줄임말 포함)을 입력하시면 해당 챔피언에 대한 정보를 확인할 수 있습니다!\n현재 존재하는 챔피언 목록 :\n" + championList |
| 45 | - "webLinkUrl": "https://lolchess.gg/champions/set3.5/" + championQuery | 37 | + |
| 38 | + } | ||
| 46 | } | 39 | } |
| 47 | - ] | 40 | + ] |
| 41 | + } | ||
| 42 | + } | ||
| 43 | + res.status(200).send(responseBody); | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | + else{ | ||
| 47 | + let championRawData = fs.readFileSync('data/json data/champions.json'); | ||
| 48 | + let championData = JSON.parse(championRawData); | ||
| 49 | + var i = 0; | ||
| 50 | + for (i; i < championData.length; ++i){ | ||
| 51 | + if(championData[i].name == championName){ | ||
| 52 | + break; | ||
| 53 | + } | ||
| 54 | + }; | ||
| 55 | + const championEnglishName = championData[i].championId.substring(5).toLowerCase(); | ||
| 56 | + responseBody = { | ||
| 57 | + "version": "2.0", | ||
| 58 | + "template": { | ||
| 59 | + "outputs": [ | ||
| 60 | + { | ||
| 61 | + "basicCard": { | ||
| 62 | + "title": championName, | ||
| 63 | + "description": "비용 : " + championData[i].cost + "\n" + "시너지 : " + championData[i].traits, | ||
| 64 | + "thumbnail": { | ||
| 65 | + "imageUrl": "http://tft-helper.tk:23023/static/champions/" + championEnglishName + ".png" | ||
| 66 | + }, | ||
| 67 | + "buttons": [ | ||
| 68 | + { | ||
| 69 | + "action": "webLink", | ||
| 70 | + "label": "상세한 정보 확인", | ||
| 71 | + "webLinkUrl": "https://lolchess.gg/champions/set3.5/" + championEnglishName | ||
| 72 | + } | ||
| 73 | + ] | ||
| 74 | + } | ||
| 48 | } | 75 | } |
| 49 | - } | 76 | + ] |
| 50 | - ] | 77 | + } |
| 51 | } | 78 | } |
| 79 | + res.status(200).send(responseBody); | ||
| 52 | } | 80 | } |
| 53 | 81 | ||
| 54 | - res.status(200).send(responseBody); | ||
| 55 | }); | 82 | }); |
| 56 | 83 | ||
| 57 | 84 | ||
| 58 | app.listen(23023, function() { | 85 | app.listen(23023, function() { |
| 59 | console.log('Example skill server listening on port 23023!'); | 86 | console.log('Example skill server listening on port 23023!'); |
| 60 | }); | 87 | }); |
| 61 | - | ||
| 62 | -/* | ||
| 63 | -const fs = require('fs'); | ||
| 64 | -app.post('/champion',function(req,res){ | ||
| 65 | - let championRawData = fs.readFileSync('data/json data/champions.json'); | ||
| 66 | - let championData = JSON.parse(championRawData); | ||
| 67 | - const input = "갱플랭크" | ||
| 68 | - for (var i = 0; i < championData.length; ++i){ | ||
| 69 | - if(championData[i].name == input){ | ||
| 70 | - console.log(championData[i].name) | ||
| 71 | - console.log("비용 : " + championData[i].cost) | ||
| 72 | - console.log("시너지 : " + championData[i].traits); | ||
| 73 | - } | ||
| 74 | - } | ||
| 75 | -}) | ||
| 76 | -*/ | ... | ... |
-
Please register or login to post a comment