Showing
1 changed file
with
126 additions
and
8 deletions
... | @@ -31,6 +31,7 @@ exports.MEGA_PlayingMovieURL = MEGA_PlayingMovieURL; | ... | @@ -31,6 +31,7 @@ exports.MEGA_PlayingMovieURL = MEGA_PlayingMovieURL; |
31 | 31 | ||
32 | let MEGA_flag = 0; | 32 | let MEGA_flag = 0; |
33 | 33 | ||
34 | + | ||
34 | function SendMessage(eventObj, text1, text2 = ""){ | 35 | function SendMessage(eventObj, text1, text2 = ""){ |
35 | request.post( | 36 | request.post( |
36 | { | 37 | { |
... | @@ -81,6 +82,113 @@ request.post( | ... | @@ -81,6 +82,113 @@ request.post( |
81 | }); | 82 | }); |
82 | } | 83 | } |
83 | 84 | ||
85 | +function PusbuttonhMessage(final_URL){ | ||
86 | + request.post( | ||
87 | + { | ||
88 | + url: PUSH_TARGET_URL, | ||
89 | + headers: { | ||
90 | + 'Authorization': `Bearer ${TOKEN}` | ||
91 | + }, | ||
92 | + json: | ||
93 | + | ||
94 | + { "to": `${USER_ID}`, | ||
95 | + "type": "template", | ||
96 | + "altText": "this is a carousel template", | ||
97 | + "template": { | ||
98 | + "type": "carousel", | ||
99 | + "columns": [ | ||
100 | + { | ||
101 | + "thumbnailImageUrl": "https://megabox.co.kr/SharedImg/2022/05/16/WApIttC9CrStYU7j7jzFRlc2HsIXBQtY_150.jpg", | ||
102 | + "imageBackgroundColor": "#FFFFFF", | ||
103 | + "title": "this is menu", | ||
104 | + "text": "description", | ||
105 | + "defaultAction": { | ||
106 | + "type": "uri", | ||
107 | + "label": "View detail", | ||
108 | + "uri": "https://megabox.co.kr/" | ||
109 | + }, | ||
110 | + "actions": [ | ||
111 | + { | ||
112 | + "type":"message", | ||
113 | + "label":"Yes", | ||
114 | + "text":"Yes" | ||
115 | + }, | ||
116 | + { | ||
117 | + "type":"message", | ||
118 | + "label":"Yes", | ||
119 | + "text":"Yes" | ||
120 | + }, | ||
121 | + { | ||
122 | + "type": "uri", | ||
123 | + "label": "View detail", | ||
124 | + "uri": "https://megabox.co.kr/" | ||
125 | + } | ||
126 | + ] | ||
127 | + }, | ||
128 | + | ||
129 | + { | ||
130 | + "thumbnailImageUrl": "https://example.com/bot/images/item2.jpg", | ||
131 | + "imageBackgroundColor": "#000000", | ||
132 | + "title": "this is menu", | ||
133 | + "text": "description", | ||
134 | + "defaultAction": { | ||
135 | + "type": "uri", | ||
136 | + "label": "View detail", | ||
137 | + "uri": "http://example.com/page/222" | ||
138 | + }, | ||
139 | + "actions": [ | ||
140 | + { | ||
141 | + "type":"message", | ||
142 | + "label":"Yes", | ||
143 | + "text":"Yes" | ||
144 | + | ||
145 | + }, | ||
146 | + { | ||
147 | + "type":"message", | ||
148 | + "label":"Yes", | ||
149 | + "text":"Yes" | ||
150 | + | ||
151 | + }, | ||
152 | + { | ||
153 | + "type": "uri", | ||
154 | + "label": "View detail", | ||
155 | + "uri": "https://megabox.co.kr/" | ||
156 | + } | ||
157 | + ] | ||
158 | + } | ||
159 | + ], | ||
160 | + "imageAspectRatio": "rectangle", | ||
161 | + "imageSize": "cover" | ||
162 | + } | ||
163 | + } | ||
164 | + // { | ||
165 | + // "type": "template", | ||
166 | + // //"altText": "This is a buttons template", | ||
167 | + // "template": { | ||
168 | + // "type": "buttons", | ||
169 | + // "thumbnailImageUrl": "https://megabox.co.kr/SharedImg/2022/05/16/WApIttC9CrStYU7j7jzFRlc2HsIXBQtY_150.jpg", | ||
170 | + // "imageAspectRatio": "rectangle", | ||
171 | + // "imageSize": "cover", | ||
172 | + // "imageBackgroundColor": "#FFFFFF", | ||
173 | + // "title": "Menu", | ||
174 | + // "text": "Please select", | ||
175 | + // "actions": [ | ||
176 | + // { | ||
177 | + // "type": "message", | ||
178 | + // "label": "Yes", | ||
179 | + // "text": "yes" | ||
180 | + // }, | ||
181 | + // { | ||
182 | + // "type": "uri", | ||
183 | + // "label": "View detail", | ||
184 | + // "uri": final_URL | ||
185 | + // } | ||
186 | + // ] | ||
187 | + // } | ||
188 | + //} | ||
189 | + } | ||
190 | + )} | ||
191 | + | ||
84 | app.post('/hook', (req, res) => { | 192 | app.post('/hook', (req, res) => { |
85 | 193 | ||
86 | var eventObj = req.body.events[0]; | 194 | var eventObj = req.body.events[0]; |
... | @@ -93,11 +201,13 @@ app.post('/hook', (req, res) => { | ... | @@ -93,11 +201,13 @@ app.post('/hook', (req, res) => { |
93 | console.log('[request source] ', eventObj.source); | 201 | console.log('[request source] ', eventObj.source); |
94 | console.log('[request message]', eventObj.message); | 202 | console.log('[request message]', eventObj.message); |
95 | 203 | ||
204 | + | ||
96 | if(eventObj.message.text == 3 && MEGA_flag === 0){ | 205 | if(eventObj.message.text == 3 && MEGA_flag === 0){ |
97 | const text1 = "영화관 위치를 입력해주세요"; | 206 | const text1 = "영화관 위치를 입력해주세요"; |
98 | const text2 = "ex1)강남"; | 207 | const text2 = "ex1)강남"; |
99 | SendMessage(eventObj, text1, text2); | 208 | SendMessage(eventObj, text1, text2); |
100 | MEGA_flag++; | 209 | MEGA_flag++; |
210 | + PusbuttonhMessage("https://developers.line.biz/en/reference/messaging-api/#message-common-properties"); | ||
101 | console.log(MEGA_flag) | 211 | console.log(MEGA_flag) |
102 | } | 212 | } |
103 | 213 | ||
... | @@ -138,22 +248,24 @@ app.post('/hook', (req, res) => { | ... | @@ -138,22 +248,24 @@ app.post('/hook', (req, res) => { |
138 | } | 248 | } |
139 | 249 | ||
140 | if(MEGA_flag===4){ | 250 | if(MEGA_flag===4){ |
141 | - let index = 0; | 251 | + |
252 | + let obj = {}; | ||
142 | let n; | 253 | let n; |
143 | let PlayingMovie = "-현재 상영작-\n\n"; | 254 | let PlayingMovie = "-현재 상영작-\n\n"; |
144 | const text1 = "현재상영작을 가져오는 중입니다."; | 255 | const text1 = "현재상영작을 가져오는 중입니다."; |
145 | const text2 = "잠시만 기다려주세요."; | 256 | const text2 = "잠시만 기다려주세요."; |
146 | PushMessage(eventObj, text1, text2); | 257 | PushMessage(eventObj, text1, text2); |
147 | setTimeout(function() { | 258 | setTimeout(function() { |
148 | - | 259 | + let movietitle; |
149 | console.log(megabox.movie_data); | 260 | console.log(megabox.movie_data); |
150 | for(n = 0; n<Object.keys(megabox.movie_data).length; n++){ | 261 | for(n = 0; n<Object.keys(megabox.movie_data).length; n++){ |
151 | if(megabox.movie_data[n].running==='Y'){ | 262 | if(megabox.movie_data[n].running==='Y'){ |
152 | console.log(megabox.movie_data[n]); | 263 | console.log(megabox.movie_data[n]); |
153 | - MEGA_PlayingMovieList[index++] = megabox.movie_data[n].title; | 264 | + movietitle = megabox.movie_data[n].title; |
265 | + MEGA_PlayingMovieList[movietitle] = megabox.movie_data[n].movie_num; | ||
154 | } | 266 | } |
155 | - n++; | ||
156 | } | 267 | } |
268 | + console.log(MEGA_PlayingMovieList); | ||
157 | 269 | ||
158 | if(MEGA_PlayingMovieList.length == 0){ | 270 | if(MEGA_PlayingMovieList.length == 0){ |
159 | SendMessage(eventObj, "현재상영작이 없습니다.",""); | 271 | SendMessage(eventObj, "현재상영작이 없습니다.",""); |
... | @@ -162,10 +274,10 @@ app.post('/hook', (req, res) => { | ... | @@ -162,10 +274,10 @@ app.post('/hook', (req, res) => { |
162 | SendMessage(eventObj, MEGA_PlayingMovieList[0],""); | 274 | SendMessage(eventObj, MEGA_PlayingMovieList[0],""); |
163 | } | 275 | } |
164 | else{ | 276 | else{ |
165 | - index = 0; | 277 | + let index = 0; |
166 | - for(let playingmovie = 0; playingmovie < MEGA_PlayingMovieList.length; playingmovie++) | 278 | + for(let playingmovie = 0; playingmovie < Object.keys(MEGA_PlayingMovieList).length; playingmovie++) |
167 | { | 279 | { |
168 | - PlayingMovie += (playingmovie+1).toString()+'. ' + MEGA_PlayingMovieList[playingmovie]; | 280 | + PlayingMovie += (playingmovie+1).toString()+'. ' + Object.keys(MEGA_PlayingMovieList)[index++]; |
169 | PlayingMovie +="\n"; | 281 | PlayingMovie +="\n"; |
170 | } | 282 | } |
171 | 283 | ||
... | @@ -179,7 +291,13 @@ app.post('/hook', (req, res) => { | ... | @@ -179,7 +291,13 @@ app.post('/hook', (req, res) => { |
179 | } | 291 | } |
180 | if(MEGA_flag===5){ | 292 | if(MEGA_flag===5){ |
181 | const index = parseInt(message.text) -1; | 293 | const index = parseInt(message.text) -1; |
182 | - //MEGA_title = | 294 | + MEGA_title= MEGA_PlayingMovieList[Object.keys(MEGA_PlayingMovieList)[index]] |
295 | + const final_URL = "https://www.megabox.co.kr/booking?rpstMovieNo="+ MEGA_title+"&brchNo1="+MEGA_TheaterLocation+'&playDe='+MEGA_date; | ||
296 | + console.log(final_URL) | ||
297 | + | ||
298 | + PushMessage(eventObj, final_URL, "예매창으로 바로 이동합니다."); | ||
299 | + | ||
300 | + | ||
183 | 301 | ||
184 | } | 302 | } |
185 | 303 | ... | ... |
-
Please register or login to post a comment