장재훈

Rename app.js champion.js

...@@ -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 -*/
......