Showing
2 changed files
with
53 additions
and
8 deletions
| 1 | var data = require('./getid.js'); | 1 | var data = require('./getid.js'); |
| 2 | 2 | ||
| 3 | // 입력: 팀ID, 리그ID, 시즌 입력, 반환: 경기일정 | 3 | // 입력: 팀ID, 리그ID, 시즌 입력, 반환: 경기일정 |
| 4 | -function GetGameSchedule(teamID, leagueID, season, eventObj){ | 4 | +function GetGameSchedule(teamID, leagueID, season, callbackFunc){ |
| 5 | var request = require("request"); | 5 | var request = require("request"); |
| 6 | var options = { | 6 | var options = { |
| 7 | method: 'GET', | 7 | method: 'GET', |
| ... | @@ -15,9 +15,12 @@ function GetGameSchedule(teamID, leagueID, season, eventObj){ | ... | @@ -15,9 +15,12 @@ function GetGameSchedule(teamID, leagueID, season, eventObj){ |
| 15 | request(options, function (error, response, body) { | 15 | request(options, function (error, response, body) { |
| 16 | if (error) throw new Error(error); | 16 | if (error) throw new Error(error); |
| 17 | console.log(body); | 17 | console.log(body); |
| 18 | + callbackFunc(body); | ||
| 18 | }); | 19 | }); |
| 19 | } | 20 | } |
| 20 | 21 | ||
| 22 | + | ||
| 23 | + | ||
| 21 | // 입력: 리그ID, 시즌(*필수) 반환: 팀 순위 | 24 | // 입력: 리그ID, 시즌(*필수) 반환: 팀 순위 |
| 22 | function GetLeagueStanding(leagueID, season, callbackFunc){ | 25 | function GetLeagueStanding(leagueID, season, callbackFunc){ |
| 23 | var request = require("request"); | 26 | var request = require("request"); |
| ... | @@ -88,7 +91,7 @@ exports.TopAssist = function(leagueID, callbackFunc){ | ... | @@ -88,7 +91,7 @@ exports.TopAssist = function(leagueID, callbackFunc){ |
| 88 | } | 91 | } |
| 89 | 92 | ||
| 90 | // 입력: 팀ID, 시즌(*필수), 반환: 경기 일정 | 93 | // 입력: 팀ID, 시즌(*필수), 반환: 경기 일정 |
| 91 | -function GetGameSchedule_teamname(season, teamID){ | 94 | +function GetGameSchedule_teamname(season, teamID, callbackFunc){ |
| 92 | var request = require("request"); | 95 | var request = require("request"); |
| 93 | var options = { | 96 | var options = { |
| 94 | method: 'GET', | 97 | method: 'GET', |
| ... | @@ -102,11 +105,16 @@ function GetGameSchedule_teamname(season, teamID){ | ... | @@ -102,11 +105,16 @@ function GetGameSchedule_teamname(season, teamID){ |
| 102 | request(options, function (error, response, body) { | 105 | request(options, function (error, response, body) { |
| 103 | if (error) throw new Error(error); | 106 | if (error) throw new Error(error); |
| 104 | console.log(body); | 107 | console.log(body); |
| 108 | + callbackFunc(body); | ||
| 105 | }); | 109 | }); |
| 106 | } | 110 | } |
| 107 | 111 | ||
| 112 | +exports.GameSchehdule = function(teamID, callbackFunc){ | ||
| 113 | + GetGameSchedule(2021, teamID, callbackFunc); | ||
| 114 | +} | ||
| 115 | + | ||
| 108 | // 입력: 팀ID,시즌(*필수), 반환: 소속 선수 | 116 | // 입력: 팀ID,시즌(*필수), 반환: 소속 선수 |
| 109 | -function GetTeamMembers(season, teamID){ | 117 | +function GetTeamMembers(season, teamID, callbackFunc){ |
| 110 | var request = require("request"); | 118 | var request = require("request"); |
| 111 | var options = { | 119 | var options = { |
| 112 | method: 'GET', | 120 | method: 'GET', |
| ... | @@ -120,9 +128,14 @@ function GetTeamMembers(season, teamID){ | ... | @@ -120,9 +128,14 @@ function GetTeamMembers(season, teamID){ |
| 120 | request(options, function (error, response, body) { | 128 | request(options, function (error, response, body) { |
| 121 | if (error) throw new Error(error); | 129 | if (error) throw new Error(error); |
| 122 | console.log(body); | 130 | console.log(body); |
| 131 | + callbackFunc(body); | ||
| 123 | }) | 132 | }) |
| 124 | } | 133 | } |
| 125 | 134 | ||
| 135 | +exports.TeamMembers = function(teamID, callbackFunc){ | ||
| 136 | + GetTeamMembers(2021, teamID, callbackFunc); | ||
| 137 | +} | ||
| 138 | + | ||
| 126 | // 입력: 팀ID, 시즌*(필수), 반환: 팀 순위 | 139 | // 입력: 팀ID, 시즌*(필수), 반환: 팀 순위 |
| 127 | function GetTeamStanding(season, teamID){ | 140 | function GetTeamStanding(season, teamID){ |
| 128 | var request = require("request"); | 141 | var request = require("request"); | ... | ... |
| ... | @@ -219,6 +219,40 @@ function SelectLeagueInfo(eventObj, inputNum){ | ... | @@ -219,6 +219,40 @@ function SelectLeagueInfo(eventObj, inputNum){ |
| 219 | return returnMsg; | 219 | return returnMsg; |
| 220 | } | 220 | } |
| 221 | 221 | ||
| 222 | +function SelectTeamInfo(inputNum){ | ||
| 223 | + let returnMsg = "잘 못 고르셨습니다. 다시 골라주세요." | ||
| 224 | + switch(inputNum){ | ||
| 225 | + case 1: // 경기 일정 | ||
| 226 | + soccerAPI.GameSchehdule(currentTeamID, function(body){ | ||
| 227 | + let gameScheduleJson = JSON.parse(body); | ||
| 228 | + let valueText = ""; | ||
| 229 | + for(var i = 0; i < gameScheduleJson.response.length; i++){ | ||
| 230 | + valueText += (i+1).toString() + "|" + gameScheduleJson.response[i].fixture.date + "|" + gameScheduleJson.response[i].league.name + "|" + gameScheduleJson.response[i].teams.home.name + "|" + gameScheduleJson.response[i].teams.away.name + "|" + gameScheduleJson.response[i].fixture.status.long + "|" + gameScheduleJson.response[i].goals.home + "|" + gameScheduleJson.response[i].goals.away + '\n'; | ||
| 231 | + } | ||
| 232 | + returnMsg = MakeReplyMessage('경기 일정', '===========', valueText); | ||
| 233 | + Reply(eventObj, returnMsg); | ||
| 234 | + }); | ||
| 235 | + break; | ||
| 236 | + case 2: // 명단 | ||
| 237 | + soccerAPI.TeamMembers(currentTeamID, function(body){ | ||
| 238 | + let teamMembersJson = JSON.parse(body); | ||
| 239 | + let valueText = ""; | ||
| 240 | + for(var i = 0; i < teamMembersJson.response.length; i++){ | ||
| 241 | + valueText += (i+1).toString() + "|" + teamMembersJson.response[i].statistics[0].team.name + "|" + teamMembersJson.response[i].statistics[0].league.name + "|" + teamMembersJson.response[i].player.name + "|" + teamMembersJson.response[i].player.nationality + "|" + teamMembersJson.response[i].player.birth.date + "|" + teamMembersJson.response[i].statistics[0].games.appearences + "|" + teamMembersJson.response[i].statistics[0].games.minutes + "|" + teamMembersJson.response[i].statistics[0].games.position + "|" + teamMembersJson.response[i].statistics[0].games.captain + '\n'; | ||
| 242 | + } | ||
| 243 | + returnMsg = MakeReplyMessage('명단', '============', valueText); | ||
| 244 | + Reply(eventObj, returnMsg); | ||
| 245 | + }); | ||
| 246 | + break; | ||
| 247 | + case 3: // 처음으로 | ||
| 248 | + SetDefault(eventObj.source.userId); | ||
| 249 | + break; | ||
| 250 | + default: | ||
| 251 | + break; | ||
| 252 | + } | ||
| 253 | + return returnMsg; | ||
| 254 | +} | ||
| 255 | + | ||
| 222 | function SetDefault(userID){ | 256 | function SetDefault(userID){ |
| 223 | step = 0; | 257 | step = 0; |
| 224 | push.SendMessage(DefaultSelectMessage(), userID); | 258 | push.SendMessage(DefaultSelectMessage(), userID); |
| ... | @@ -228,12 +262,10 @@ function MakeReplyMessage(title, keys, values){ | ... | @@ -228,12 +262,10 @@ function MakeReplyMessage(title, keys, values){ |
| 228 | return title + '\n' + keys + '\n' + values; | 262 | return title + '\n' + keys + '\n' + values; |
| 229 | } | 263 | } |
| 230 | 264 | ||
| 231 | -function SelectTeamInfo(inputNum){ | 265 | + |
| 232 | - return 'You Selected ' + inputNum.toString(); | ||
| 233 | -} | ||
| 234 | 266 | ||
| 235 | function DefaultSelectMessage(){ | 267 | function DefaultSelectMessage(){ |
| 236 | - return '안녕하세요. \n리그번호 혹은 팀명을 입력해주세요.'; | 268 | + return '안녕하세요. \n리그번호 혹은 팀명을 입력해주세요.\n리그번호\n1. 잉글랜드 프리미어리그\n2. 스페인 라리가\n3. 이탈리아 세리에 A\n4. 독일 분데스리가 1\n5. 프랑스 리그앙\n6. 포르투갈 프리메라리가\n7. UEFA 챔피언스리그\n8. UEFA 유로파리그\n9. UEFA 컨퍼런스리그\n10. 대한민국 K-리그'; |
| 237 | } | 269 | } |
| 238 | 270 | ||
| 239 | function SelectLeagueInfoMessage(){ | 271 | function SelectLeagueInfoMessage(){ |
| ... | @@ -242,6 +274,6 @@ function SelectLeagueInfoMessage(){ | ... | @@ -242,6 +274,6 @@ function SelectLeagueInfoMessage(){ |
| 242 | } | 274 | } |
| 243 | 275 | ||
| 244 | function SelectTeamInfoMessage(){ | 276 | function SelectTeamInfoMessage(){ |
| 245 | - let msg = '1. 경기 일정 \n2. 소속 선수 \n3. 순위 \n4. 처음으로'; | 277 | + let msg = '1. 경기 일정 \n2. 선수 명단 \n3. 처음으로'; |
| 246 | return msg; | 278 | return msg; |
| 247 | } | 279 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment