장재훈

Add trait.js

1 +const express = require('express');
2 +const app = express();
3 +const logger = require('morgan');
4 +const bodyParser = require('body-parser');
5 +const apiRouter = express.Router();
6 +const fs = require('fs');
7 +
8 +const traitsRawData = fs.readFileSync('data/json data/traits.json');
9 +const traitData = JSON.parse(traitsRawData);
10 +
11 +exports.traitFunction = function(req,res){
12 + var responseBody = {};
13 + const traitName = req.body["action"]["params"]["trait_name"];
14 + console.log(traitName);
15 + if (traitName == undefined){
16 + var traitList = "";
17 + for (var i = 0; i < traitData.length; ++i){
18 + traitList += (traitData[i].name + '\n');
19 + };
20 + responseBody = {
21 + "version": "2.0",
22 + "template": {
23 + "outputs": [
24 + {
25 + "simpleText": {
26 + "text": "찾으시는 조합 이름을 입력하시면 해당 조합에 대한 정보를 확인할 수 있습니다!\n\n현재 존재하는 조합 목록 :\n" + traitList
27 +
28 + }
29 + }
30 + ]
31 + }
32 + }
33 + res.status(200).send(responseBody);
34 + }
35 +
36 + else{
37 + var index = 0;
38 + for (index; index < traitData.length; ++index){
39 + if(traitData[index].name == traitName){
40 + break;
41 + }
42 + };
43 + console.log(traitData[index].sets);
44 +
45 + var traitPictureName = "";
46 + if (traitData[index].key.substr(0,5) == "Set3_"){
47 + traitPictureName = traitData[index].key.substr(5).toLowerCase();
48 + }
49 + else{
50 + traitPictureName = traitData[index].key.toLowerCase();
51 + }
52 + console.log(traitPictureName);
53 + var traitinfo = "시너지 효과 : " + traitData[index].description + "\n";
54 + for (var i = 0; i < traitData[index].sets.length; ++i){
55 + traitinfo += (traitData[index].sets[i].min + "인 이상 " + traitData[index].sets[i].effect + '\n');
56 + }
57 +
58 +
59 + responseBody = {
60 + "version": "2.0",
61 + "template": {
62 + "outputs": [
63 + {
64 + "basicCard": {
65 + "title": traitName,
66 + "description": traitinfo,
67 + "thumbnail": {
68 + "imageUrl": "http://tft-helper.tk:23023/static/traits/" + traitPictureName + ".png"
69 + },
70 + "buttons":[
71 + {
72 + "action": "block",
73 + "label": "메뉴로 돌아가기",
74 + "blockId": "5ee0eef3e0d4e2000176b3f7"
75 + }
76 + ]
77 + }
78 +
79 + }
80 +
81 + ]
82 + }
83 + }
84 + res.status(200).send(responseBody);
85 + }
86 +}