Showing
2 changed files
with
94 additions
and
65 deletions
... | @@ -66,6 +66,7 @@ exports.init = ()=>{async.waterfall([//for 동기적 처리 | ... | @@ -66,6 +66,7 @@ exports.init = ()=>{async.waterfall([//for 동기적 처리 |
66 | //Using getAttribute to get the data | 66 | //Using getAttribute to get the data |
67 | movie_data[r++] = { | 67 | movie_data[r++] = { |
68 | 'rank' : r, | 68 | 'rank' : r, |
69 | + | ||
69 | 'title' : await item.getAttribute("movie-nm"), | 70 | 'title' : await item.getAttribute("movie-nm"), |
70 | 'movie_num':await item.getAttribute("movie-no"), | 71 | 'movie_num':await item.getAttribute("movie-no"), |
71 | } | 72 | } |
... | @@ -100,7 +101,7 @@ exports.init = ()=>{async.waterfall([//for 동기적 처리 | ... | @@ -100,7 +101,7 @@ exports.init = ()=>{async.waterfall([//for 동기적 처리 |
100 | movie_data[r++]['rate'] = '예매율 0%'; | 101 | movie_data[r++]['rate'] = '예매율 0%'; |
101 | } | 102 | } |
102 | } | 103 | } |
103 | - | 104 | + console.log("completed") |
104 | browser.close(); | 105 | browser.close(); |
105 | }, | 106 | }, |
106 | 107 | ||
... | @@ -120,54 +121,10 @@ exports.geting_PlayingMovie= async() => { | ... | @@ -120,54 +121,10 @@ exports.geting_PlayingMovie= async() => { |
120 | for (item of movie_list) { | 121 | for (item of movie_list) { |
121 | movie_data[n++]['running'] = await item.getAttribute('form-at') | 122 | movie_data[n++]['running'] = await item.getAttribute('form-at') |
122 | } | 123 | } |
124 | + console.log("completed") | ||
123 | 125 | ||
124 | } | 126 | } |
125 | 127 | ||
126 | -// let userData = { | ||
127 | -// 'Date': '', | ||
128 | -// 'location':'' | ||
129 | -// }; | ||
130 | -// // const _sleep = (delay) => new Promise((resolve) => setTimeout(resolve, delay)); | ||
131 | -// app.get('/Megabox', (req, res) => { | ||
132 | - | ||
133 | -// res.send(movie_data); | ||
134 | - | ||
135 | -// }) | ||
136 | - | ||
137 | -// app.post('/Megabox', (req, res) => {//사용자에게 Date와 location(영화관 장소) 받아옴 | ||
138 | -// let PlayingMovieURL; | ||
139 | -// userData['Date'] = req.body.Date; | ||
140 | -// for(i of location_data){ | ||
141 | -// if(i['LocationName'] == req.body.location){ | ||
142 | -// userData['location']=i['LocationNUm']; | ||
143 | -// break; | ||
144 | -// } | ||
145 | -// } | ||
146 | - | ||
147 | -// PlayingMovieURL = booking_url + '?brchNo1='+userData['location']+'&playDe='+userData['Date'];//사용자 정보 바탕으로 해당 일자 영화관 영화 상영 여부 확인 | ||
148 | - | ||
149 | -// appdriver.get(PlayingMovieURL); | ||
150 | -// appdriver.switchTo().frame(0)//frameBokdMBooking 프레임 가져옴 | ||
151 | -// res.send(movie_data); | ||
152 | - | ||
153 | -// }) | ||
154 | -// app.post('/Megabox', (req, res) => {//사용자에게 Date와 location(영화관 장소) 받아옴 | ||
155 | -// userData['Date'] = req.body.Date; | ||
156 | -// for(i of location_data){ | ||
157 | -// if(i['LocationName'] == req.body.location){ | ||
158 | -// userData['location']=i['LocationNUm']; | ||
159 | -// break; | ||
160 | -// } | ||
161 | -// } | ||
162 | - | ||
163 | -// let PlayingMovieURL = booking_url + '?brchNo1='+userData['location']+'&playDe='+userData['Date'];//사용자 정보 바탕으로 해당 일자 영화관 영화 상영 여부 확인 | ||
164 | - | ||
165 | -// appdriver.get(PlayingMovieURL); | ||
166 | -// appdriver.switchTo().frame(0)//frameBokdMBooking 프레임 가져옴 | ||
167 | -// res.send(movie_data); | ||
168 | - | ||
169 | -// }) | ||
170 | - | ||
171 | app.get('/Megabox/GetPlayingMovie', async(req, res, next) => {//영화 상영 여부 객체에 넣음 | 128 | app.get('/Megabox/GetPlayingMovie', async(req, res, next) => {//영화 상영 여부 객체에 넣음 |
172 | 129 | ||
173 | // let movie_list = await appdriver.wait(until.elementsLocated(By.css('#mCSB_1_container>ul>li>.btn'))); | 130 | // let movie_list = await appdriver.wait(until.elementsLocated(By.css('#mCSB_1_container>ul>li>.btn'))); |
... | @@ -181,4 +138,4 @@ app.get('/Megabox/GetPlayingMovie', async(req, res, next) => {//영화 상영 | ... | @@ -181,4 +138,4 @@ app.get('/Megabox/GetPlayingMovie', async(req, res, next) => {//영화 상영 |
181 | res.send(PlayingMovieList); | 138 | res.send(PlayingMovieList); |
182 | }) | 139 | }) |
183 | 140 | ||
184 | -app.listen(6000); | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
141 | +app.listen(8000); | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
... | @@ -6,8 +6,11 @@ megabox.init(); | ... | @@ -6,8 +6,11 @@ megabox.init(); |
6 | 6 | ||
7 | const request = require('request'); | 7 | const request = require('request'); |
8 | var express = require('express'); | 8 | var express = require('express'); |
9 | +const PUSH_TARGET_URL = 'https://api.line.me/v2/bot/message/push' | ||
10 | +const USER_ID = '' | ||
11 | + | ||
9 | const REPLY_TARGET_URL = 'https://api.line.me/v2/bot/message/reply' | 12 | const REPLY_TARGET_URL = 'https://api.line.me/v2/bot/message/reply' |
10 | -const REPLY_TOKEN = '' | 13 | +const TOKEN = '' |
11 | const fs = require('fs'); | 14 | const fs = require('fs'); |
12 | const path = require('path'); | 15 | const path = require('path'); |
13 | const HTTPS = require('https'); | 16 | const HTTPS = require('https'); |
... | @@ -21,6 +24,7 @@ const moment = require("moment"); | ... | @@ -21,6 +24,7 @@ const moment = require("moment"); |
21 | 24 | ||
22 | let MEGA_date; | 25 | let MEGA_date; |
23 | let MEGA_TheaterLocation; | 26 | let MEGA_TheaterLocation; |
27 | +let MEGA_PlayingMovieList = []; | ||
24 | let MEGA_title; | 28 | let MEGA_title; |
25 | let MEGA_PlayingMovieURL; | 29 | let MEGA_PlayingMovieURL; |
26 | exports.MEGA_PlayingMovieURL = MEGA_PlayingMovieURL; | 30 | exports.MEGA_PlayingMovieURL = MEGA_PlayingMovieURL; |
... | @@ -32,7 +36,7 @@ function SendMessage(eventObj, text1, text2 = ""){ | ... | @@ -32,7 +36,7 @@ function SendMessage(eventObj, text1, text2 = ""){ |
32 | { | 36 | { |
33 | url: REPLY_TARGET_URL, | 37 | url: REPLY_TARGET_URL, |
34 | headers: { | 38 | headers: { |
35 | - 'Authorization': `Bearer ${REPLY_TOKEN}` | 39 | + 'Authorization': `Bearer ${TOKEN}` |
36 | }, | 40 | }, |
37 | json: { | 41 | json: { |
38 | "replyToken":eventObj.replyToken, | 42 | "replyToken":eventObj.replyToken, |
... | @@ -49,11 +53,35 @@ function SendMessage(eventObj, text1, text2 = ""){ | ... | @@ -49,11 +53,35 @@ function SendMessage(eventObj, text1, text2 = ""){ |
49 | } | 53 | } |
50 | 54 | ||
51 | },(error, response, body) => { | 55 | },(error, response, body) => { |
52 | - //console.log(body) | 56 | + console.log(body); |
53 | }); | 57 | }); |
54 | } | 58 | } |
59 | +function PushMessage(eventObj, text1, text2 = ""){ | ||
60 | +request.post( | ||
61 | + { | ||
62 | + url: PUSH_TARGET_URL, | ||
63 | + headers: { | ||
64 | + 'Authorization': `Bearer ${TOKEN}` | ||
65 | + }, | ||
66 | + json: { | ||
67 | + "to": `${USER_ID}`, | ||
68 | + "messages":[ | ||
69 | + { | ||
70 | + "type":"text", | ||
71 | + "text":text1 | ||
72 | + }, | ||
73 | + { | ||
74 | + "type":"text", | ||
75 | + "text":text2 | ||
76 | + } | ||
77 | + ] | ||
78 | + } | ||
79 | + },(error, response, body) => { | ||
80 | + console.log(body) | ||
81 | + }); | ||
82 | +} | ||
55 | 83 | ||
56 | -app.post('/hook', function (req, res) { | 84 | +app.post('/hook', (req, res) => { |
57 | 85 | ||
58 | var eventObj = req.body.events[0]; | 86 | var eventObj = req.body.events[0]; |
59 | var source = eventObj.source; | 87 | var source = eventObj.source; |
... | @@ -64,40 +92,39 @@ app.post('/hook', function (req, res) { | ... | @@ -64,40 +92,39 @@ app.post('/hook', function (req, res) { |
64 | console.log('[request]', req.body); | 92 | console.log('[request]', req.body); |
65 | console.log('[request source] ', eventObj.source); | 93 | console.log('[request source] ', eventObj.source); |
66 | console.log('[request message]', eventObj.message); | 94 | console.log('[request message]', eventObj.message); |
67 | - | 95 | + |
68 | if(eventObj.message.text == 3 && MEGA_flag === 0){ | 96 | if(eventObj.message.text == 3 && MEGA_flag === 0){ |
69 | const text1 = "영화관 위치를 입력해주세요"; | 97 | const text1 = "영화관 위치를 입력해주세요"; |
70 | - const text2 = "ex1)강남, ex2)강남시티"; | 98 | + const text2 = "ex1)강남"; |
71 | - | ||
72 | SendMessage(eventObj, text1, text2); | 99 | SendMessage(eventObj, text1, text2); |
73 | MEGA_flag++; | 100 | MEGA_flag++; |
101 | + console.log(MEGA_flag) | ||
74 | } | 102 | } |
103 | + | ||
75 | if(MEGA_flag===1){ | 104 | if(MEGA_flag===1){ |
105 | + console.log(MEGA_flag); | ||
76 | for(i of megabox.location_data){ | 106 | for(i of megabox.location_data){ |
77 | - | ||
78 | if(i['LocationName'] === message.text){ | 107 | if(i['LocationName'] === message.text){ |
79 | MEGA_TheaterLocation = i['LocationNUm']; | 108 | MEGA_TheaterLocation = i['LocationNUm']; |
80 | console.log(MEGA_TheaterLocation); | 109 | console.log(MEGA_TheaterLocation); |
81 | MEGA_flag++; | 110 | MEGA_flag++; |
111 | + console.log(MEGA_flag) | ||
82 | break; | 112 | break; |
83 | } | 113 | } |
84 | } | 114 | } |
85 | - | ||
86 | - }else{ | ||
87 | - SendMessage(eventObj, "다시입력해주세요"); | ||
88 | } | 115 | } |
89 | 116 | ||
90 | if(MEGA_flag === 2){ | 117 | if(MEGA_flag === 2){ |
91 | - MEGA_date = parseInt(message.text); | ||
92 | const text1 = "영화를 보실 날짜를 입력해주세요."; | 118 | const text1 = "영화를 보실 날짜를 입력해주세요."; |
93 | const text2 = "ex)20020409"; | 119 | const text2 = "ex)20020409"; |
94 | - | ||
95 | SendMessage(eventObj, text1, text2); | 120 | SendMessage(eventObj, text1, text2); |
96 | ++MEGA_flag; | 121 | ++MEGA_flag; |
97 | } | 122 | } |
98 | 123 | ||
99 | - if(moment(eventObj.message.text, "YYYYMMDD", true).isValid() && MEGA_flag===3){ | 124 | + if(moment(eventObj.message.text, "YYYYMMDD", true).isValid() && MEGA_flag===3){ |
100 | - console.log(3); | 125 | + |
126 | + MEGA_date = parseInt(eventObj.message.text); | ||
127 | + | ||
101 | if(MEGA_date && MEGA_TheaterLocation){ | 128 | if(MEGA_date && MEGA_TheaterLocation){ |
102 | MEGA_PlayingMovieURL = "https://megabox.co.kr/on/oh/ohb/SimpleBooking/simpleBookingPage.do" + '?brchNo1='+MEGA_TheaterLocation+'&playDe='+MEGA_date; | 129 | MEGA_PlayingMovieURL = "https://megabox.co.kr/on/oh/ohb/SimpleBooking/simpleBookingPage.do" + '?brchNo1='+MEGA_TheaterLocation+'&playDe='+MEGA_date; |
103 | console.log(MEGA_PlayingMovieURL) | 130 | console.log(MEGA_PlayingMovieURL) |
... | @@ -106,11 +133,56 @@ app.post('/hook', function (req, res) { | ... | @@ -106,11 +133,56 @@ app.post('/hook', function (req, res) { |
106 | megabox.geting_PlayingMovie() | 133 | megabox.geting_PlayingMovie() |
107 | ] | 134 | ] |
108 | MEGA_flag++ | 135 | MEGA_flag++ |
136 | + console.log(MEGA_flag); | ||
109 | } | 137 | } |
110 | - } | 138 | + } |
139 | + | ||
111 | if(MEGA_flag===4){ | 140 | if(MEGA_flag===4){ |
112 | - console.log(megabox.movie_data); | 141 | + let index = 0; |
113 | - } | 142 | + let n; |
143 | + let PlayingMovie = "-현재 상영작-\n\n"; | ||
144 | + const text1 = "현재상영작을 가져오는 중입니다."; | ||
145 | + const text2 = "잠시만 기다려주세요."; | ||
146 | + PushMessage(eventObj, text1, text2); | ||
147 | + setTimeout(function() { | ||
148 | + | ||
149 | + console.log(megabox.movie_data); | ||
150 | + for(n = 0; n<Object.keys(megabox.movie_data).length; n++){ | ||
151 | + if(megabox.movie_data[n].running==='Y'){ | ||
152 | + console.log(megabox.movie_data[n]); | ||
153 | + MEGA_PlayingMovieList[index++] = megabox.movie_data[n].title; | ||
154 | + } | ||
155 | + n++; | ||
156 | + } | ||
157 | + | ||
158 | + if(MEGA_PlayingMovieList.length == 0){ | ||
159 | + SendMessage(eventObj, "현재상영작이 없습니다.",""); | ||
160 | + } | ||
161 | + else if(MEGA_PlayingMovieList.length == 1){ | ||
162 | + SendMessage(eventObj, MEGA_PlayingMovieList[0],""); | ||
163 | + } | ||
164 | + else{ | ||
165 | + index = 0; | ||
166 | + for(let playingmovie = 0; playingmovie < MEGA_PlayingMovieList.length; playingmovie++) | ||
167 | + { | ||
168 | + PlayingMovie += (playingmovie+1).toString()+'. ' + MEGA_PlayingMovieList[playingmovie]; | ||
169 | + PlayingMovie +="\n"; | ||
170 | + } | ||
171 | + | ||
172 | + console.log(PlayingMovie); | ||
173 | + PushMessage(eventObj, PlayingMovie, "예매할 영화 번호를 입력해주세요.\n ex)1 (영화 앞 숫자만 입력)"); | ||
174 | + } | ||
175 | + | ||
176 | + MEGA_flag++; | ||
177 | + },10000); | ||
178 | + | ||
179 | + } | ||
180 | + if(MEGA_flag===5){ | ||
181 | + const index = parseInt(message.text) -1; | ||
182 | + //MEGA_title = | ||
183 | + | ||
184 | + } | ||
185 | + | ||
114 | res.sendStatus(200); | 186 | res.sendStatus(200); |
115 | 187 | ||
116 | }); | 188 | }); | ... | ... |
-
Please register or login to post a comment