엄성진

Add Buttons, Fix Function for Communicating

1 -//라인 고유 토큰
2 -exports.TOKEN = 'Kb1/rQYz4MUhF8XyKQv7z9x0MxVQ5bX/XO8S/yt/1qQEJVAbsEFAaMvXKEOx9Umr7KhivfyDPfZHRRLFPngR0O4ZGWV2VFses8ufPE7uAdvYr4G6keBNAU69nBz5IC71HfbIrUHxXYqD7GfhVwXzpwdB04t89/1O/w1cDnyilFU='
3 -exports.YoutubeKey = 'AIzaSyBInggOtXxPFYIRee0Xs3vb5iZ9YE9_518'
4 -exports.domain='2020105631.oss2021.tk'
...\ No newline at end of file ...\ No newline at end of file
...@@ -161,7 +161,7 @@ function SEND_LIST(replyToken,response,choice,thumbnail,SendAmount,sendaddress)/ ...@@ -161,7 +161,7 @@ function SEND_LIST(replyToken,response,choice,thumbnail,SendAmount,sendaddress)/
161 ); 161 );
162 } 162 }
163 163
164 -function SEND_TEXT(replyToken,sendMessage) //단순 텍스트 전송하는 함수 164 +function HELP(replyToken,sendMessage) //도움말 함수
165 { 165 {
166 console.log(sendMessage); 166 console.log(sendMessage);
167 request.post( 167 request.post(
...@@ -186,9 +186,9 @@ function SEND_TEXT(replyToken,sendMessage) //단순 텍스트 전송하는 함 ...@@ -186,9 +186,9 @@ function SEND_TEXT(replyToken,sendMessage) //단순 텍스트 전송하는 함
186 ); 186 );
187 } 187 }
188 188
189 -function SETTINGS(replyToken,sendMessage) //설정 함수 189 +function SETTINGS(replyToken) //설정 함수
190 { 190 {
191 - console.log(sendMessage); 191 + console.log("설정 메뉴 진입");
192 request.post( 192 request.post(
193 { 193 {
194 url: TARGET_URL, 194 url: TARGET_URL,
...@@ -202,10 +202,6 @@ function SETTINGS(replyToken,sendMessage) //설정 함수 ...@@ -202,10 +202,6 @@ function SETTINGS(replyToken,sendMessage) //설정 함수
202 "messages": 202 "messages":
203 [ 203 [
204 { 204 {
205 - "type": "text",
206 - "text": sendMessage
207 - },
208 - {
209 "type": "template", 205 "type": "template",
210 "altText": "설정메뉴입니다.", 206 "altText": "설정메뉴입니다.",
211 "template": { 207 "template": {
...@@ -215,7 +211,7 @@ function SETTINGS(replyToken,sendMessage) //설정 함수 ...@@ -215,7 +211,7 @@ function SETTINGS(replyToken,sendMessage) //설정 함수
215 "actions": [ 211 "actions": [
216 { 212 {
217 "type": "postback", 213 "type": "postback",
218 - "label": "썸네일 출력 여부 변경", 214 + "label": "썸네일 전송 여부 변경",
219 "data": "썸네일" 215 "data": "썸네일"
220 }, 216 },
221 { 217 {
...@@ -225,7 +221,7 @@ function SETTINGS(replyToken,sendMessage) //설정 함수 ...@@ -225,7 +221,7 @@ function SETTINGS(replyToken,sendMessage) //설정 함수
225 }, 221 },
226 { 222 {
227 "type": "postback", 223 "type": "postback",
228 - "label": "유튜브 주소 출력 여부 변경", 224 + "label": "유튜브 주소 전송 여부 변경",
229 "data": "주소" 225 "data": "주소"
230 } 226 }
231 ] 227 ]
...@@ -237,32 +233,378 @@ function SETTINGS(replyToken,sendMessage) //설정 함수 ...@@ -237,32 +233,378 @@ function SETTINGS(replyToken,sendMessage) //설정 함수
237 ); 233 );
238 } 234 }
239 235
240 -exports.thumbnail_settings = function (thumbnail_yes,userId) 236 +function sendplaylist(replyToken, userId, choose)
241 { 237 {
238 + var choice=ids.all_ids[choose];
239 + service.playlistItems.list(
240 + {
241 + key: Info.YoutubeKey,
242 + part: 'snippet',
243 + fields: 'items(snippet(title,resourceId,thumbnails(high(url))))', //제목, VideoId, Thumbnail 이미지 정보.
244 + maxResults: 10,
245 + playlistId: choice
246 + }, function (err, response){
247 + if (err) {
248 + console.log('The API returned an error: ', err);
249 + return;
250 + }
251 + var video = response.data.items;
252 + if (video.length == 0)
253 + console.log('검색된 동영상이 없습니다.');
254 + else
255 + SEND_LIST(replyToken,response,choice,setting_Thumbnail[setting_userId.indexOf(userId)],setting_SendAmount[setting_userId.indexOf(userId)],setting_SendAddress[setting_userId.indexOf(userId)]);
256 + }
257 + )
258 +
259 +}
260 +
261 +
262 +function PLAYLIST(replyToken) //플레이리스트 함수
263 +{
264 + console.log("플레이리스트 선택창 진입");
265 + request.post(
266 + {
267 + url: TARGET_URL,
268 + headers:
269 + {
270 + 'Authorization': `Bearer ${Info.TOKEN}`
271 + },
272 + json:
273 + {
274 + "replyToken": replyToken,
275 + "messages":
276 + [
277 + {
278 + "type": "template",
279 + "altText": "플레이리스트 선택창 입니다.",
280 + "template": {
281 + "type": "buttons",
282 + "title": "분야",
283 + "text": "원하시는 분야를 골라주세요.",
284 + "actions": [
285 + {
286 + "type": "postback",
287 + "label": "장르",
288 + "data": "genre"
289 + },
290 + {
291 + "type": "postback",
292 + "label": "무드",
293 + "data": "mood"
294 + },
295 + {
296 + "type": "postback",
297 + "label": "가수",
298 + "data": "singer"
299 + }
300 + ]
301 + }
302 + }
303 + ]
304 + }
305 + }
306 + );
307 +}
242 308
243 - // 여기서 썸네일을 출력할지 말지 물어보고나서, 웹훅의 응답을 받아 그 응답에 따라서 309 +exports.genre = function (replyToken)
244 - // setting_Thumbnail[setting_userId.indexOf(userId)] 의 값를 수정합니다. 310 +{
245 - // https://developers.line.biz/en/reference/messaging-api/#template-messages 의 confirm 를 참고해서 응용하시면 될 것 같습니다. 311 + console.log("플레이리스트-장르");
246 - // 이곳에 userid에 맞게 setting_Thumbnail, setting_SendAmount, setting_SendAddress 의 값을 수정해주시면 됩니다. 312 + request.post(
247 - // var thumbnail; 313 + {
314 + url: TARGET_URL,
315 + headers:
316 + {
317 + 'Authorization': `Bearer ${Info.TOKEN}`
318 + },
319 + json:
320 + {
321 + "replyToken": replyToken,
322 + "messages":
323 + [
324 + {
325 + "type": "template",
326 + "altText": "장르 선택창 입니다.",
327 + "template": {
328 + "type": "buttons",
329 + "title": "장르",
330 + "text": "원하시는 장르를 골라주세요.",
331 + "actions": [
332 + {
333 + "type": "postback",
334 + "label": "힙합",
335 + "data": "hiphop"
336 + },
337 + {
338 + "type": "postback",
339 + "label": "피아노",
340 + "data": "piano"
341 + },
342 + {
343 + "type": "postback",
344 + "label": "팝",
345 + "data": "pop"
346 + }
347 + ]
348 + }
349 + }
350 + ]
351 + }
352 + }
353 + );
354 +}
248 355
249 - //console.log("111"); 356 +exports.hiphop = function(replyToken,userId)
250 - //console.log("111222"); 357 +{
358 + console.log('플레이리스트-장르-힙합');
359 + sendplaylist(replyToken, userId, 101);
360 +}
251 361
252 - // var eventObj = req.body.events[0]; 362 +exports.piano = function(replyToken,userId)
253 - //console.log("setting_userId.indexOf(userId) : before : " + setting_userId.indexOf(userId)); 363 +{
364 + console.log('플레이리스트-장르-피아노');
365 + sendplaylist(replyToken, userId, 102);
366 +}
254 367
368 +exports.pop = function(replyToken,userId)
369 +{
370 + console.log('플레이리스트-장르-팝');
371 + sendplaylist(replyToken, userId, 103);
372 +}
255 373
256 - setting_Thumbnail[setting_userId.indexOf(userId)] = thumbnail_yes; 374 +exports.mood = function (replyToken)
257 - //console.log("setting_userId.indexOf(userId) : after : " + setting_Thumbnail[setting_userId.indexOf(userId)]) 375 +{
376 + console.log("플레이리스트-무드");
377 + request.post(
378 + {
379 + url: TARGET_URL,
380 + headers:
381 + {
382 + 'Authorization': `Bearer ${Info.TOKEN}`
383 + },
384 + json:
385 + {
386 + "replyToken": replyToken,
387 + "messages":
388 + [
389 + {
390 + "type": "template",
391 + "altText": "무드 선택창 입니다.",
392 + "template": {
393 + "type": "buttons",
394 + "title": "무드",
395 + "text": "원하시는 무드를 골라주세요.",
396 + "actions": [
397 + {
398 + "type": "postback",
399 + "label": "신남",
400 + "data": "exciting"
401 + },
402 + {
403 + "type": "postback",
404 + "label": "슬픔",
405 + "data": "sad"
406 + }
407 + ]
408 + }
409 + }
410 + ]
411 + }
412 + }
413 + );
414 +}
258 415
416 +exports.exciting = function(replyToken,userId)
417 +{
418 + console.log('플레이리스트-무드-신남');
419 + sendplaylist(replyToken, userId, 201);
420 +}
259 421
260 - console.log(thumbnail_yes + "after"); 422 +exports.sad = function(replyToken,userId)
423 +{
424 + console.log('플레이리스트-무드-슬픔');
425 + sendplaylist(replyToken, userId, 202);
426 +}
261 427
262 - console.log("111111"); 428 +exports.singer = function (replyToken)
429 +{
430 + console.log("플레이리스트-가수");
431 + request.post(
432 + {
433 + url: TARGET_URL,
434 + headers:
435 + {
436 + 'Authorization': `Bearer ${Info.TOKEN}`
437 + },
438 + json:
439 + {
440 + "replyToken": replyToken,
441 + "messages":
442 + [
443 + {
444 + "type": "template",
445 + "altText": "가수 선택창 입니다.",
446 + "template": {
447 + "type": "buttons",
448 + "title": "가수",
449 + "text": "원하시는 가수를 골라주세요.",
450 + "actions": [
451 + {
452 + "type": "postback",
453 + "label": "블랙핑크",
454 + "data": "blackpink"
455 + },
456 + {
457 + "type": "postback",
458 + "label": "아이유",
459 + "data": "iu"
460 + }
461 + ,
462 + {
463 + "type": "postback",
464 + "label": "레드벨벳",
465 + "data": "redvelvet"
466 + }
467 + ,
468 + {
469 + "type": "postback",
470 + "label": "트와이스",
471 + "data": "twice"
472 + }
473 + ]
474 + }
475 + }
476 + ]
477 + }
478 + }
479 + );
480 +}
263 481
482 +exports.blackpink = function(replyToken,userId)
483 +{
484 + console.log('플레이리스트-가수-블랙핑크');
485 + sendplaylist(replyToken, userId, 301);
264 } 486 }
265 487
488 +exports.iu = function(replyToken,userId)
489 +{
490 + console.log('플레이리스트-가수-아이유');
491 + sendplaylist(replyToken, userId, 302);
492 +}
493 +
494 +exports.redvelvet = function(replyToken,userId)
495 +{
496 + console.log('플레이리스트-가수-레드벨벳');
497 + sendplaylist(replyToken, userId, 303);
498 +}
499 +
500 +exports.twice = function(replyToken,userId)
501 +{
502 + console.log('플레이리스트-가수-트와이스');
503 + sendplaylist(replyToken, userId, 304);
504 +}
505 +
506 +
507 +exports.thumbnail_settings = function (replyToken)
508 +{
509 +
510 + console.log('썸네일 전송 설정');
511 + request.post(
512 + {
513 + url: TARGET_URL,
514 + headers:
515 + {
516 + 'Authorization': `Bearer ${Info.TOKEN}`
517 + },
518 + json:
519 + {
520 + "replyToken": replyToken,
521 + "messages":
522 + [
523 + {
524 + "type": "template",
525 + "altText": "설정메뉴입니다.",
526 + "template": {
527 + "type": "buttons",
528 + "title": "썸네일 전송 여부 변경",
529 + "text": "아래 항목을 골라주세요.",
530 + "actions": [
531 + {
532 + "type": "postback",
533 + "label": "썸네일 전송 O",
534 + "data": "enablethumbnail"
535 + },
536 + {
537 + "type": "postback",
538 + "label": "썸네일 전송 X",
539 + "data": "unablethumbnail"
540 + },
541 + ]
542 + }
543 + }
544 + ]
545 + }
546 + }
547 +
548 + );
549 +}
550 +
551 +exports.enablethumbnail = function(replyToken,userId)
552 +{
553 + console.log('썸네일 활성화 됨.');
554 + setting_Thumbnail[setting_userId.indexOf(userId)]=1;
555 + request.post(
556 + {
557 + url: TARGET_URL,
558 + headers:
559 + {
560 + 'Authorization': `Bearer ${Info.TOKEN}`
561 + },
562 + json:
563 + {
564 + "replyToken": replyToken,
565 + "messages":
566 + [
567 + {
568 + "type": "text",
569 + "text": "이제 썸네일이 전송됩니다!"
570 + }
571 + ]
572 + }
573 + }
574 + );
575 +}
576 +exports.unablethumbnail = function(replyToken,userId)
577 +{
578 + console.log('썸네일 비활성화 됨.');
579 + setting_Thumbnail[setting_userId.indexOf(userId)]=0;
580 + request.post(
581 + {
582 + url: TARGET_URL,
583 + headers:
584 + {
585 + 'Authorization': `Bearer ${Info.TOKEN}`
586 + },
587 + json:
588 + {
589 + "replyToken": replyToken,
590 + "messages":
591 + [
592 + {
593 + "type": "text",
594 + "text": "이제 썸네일이 전송되지 않습니다!"
595 + }
596 + ]
597 + }
598 + }
599 + );
600 +}
601 +
602 +
603 +
604 +
605 +
606 +
607 +
266 exports.amount_settings = function (replyToken, userId) 608 exports.amount_settings = function (replyToken, userId)
267 { 609 {
268 console.log('출력량 설정'); 610 console.log('출력량 설정');
...@@ -271,12 +613,103 @@ exports.amount_settings = function (replyToken, userId) ...@@ -271,12 +613,103 @@ exports.amount_settings = function (replyToken, userId)
271 // 이거는 단순하게 숫자를 입력받으면 될 것 같습니다. 다만 1,2,3,4,5,6,7,8,9,10 의 응답만 받도록 해주셔야 합니다. (예외처리 필수) 613 // 이거는 단순하게 숫자를 입력받으면 될 것 같습니다. 다만 1,2,3,4,5,6,7,8,9,10 의 응답만 받도록 해주셔야 합니다. (예외처리 필수)
272 } 614 }
273 615
274 -exports.address_settings = function (replyToken, userId) 616 +
617 +
618 +
619 +
620 +
621 +exports.address_settings = function (replyToken,)
275 { 622 {
276 - console.log('유튜브 주소 출력 설정'); 623 + console.log('유튜브 주소 전송 설정');
277 - // 여기서 유튜브 주소를 출력할지 말지 물어보고나서, 웹훅의 응답을 받아 그 응답에 따라서 624 + request.post(
278 - // setting_SendAddress[setting_userId.indexOf(userId)] 의 값를 수정합니다. 625 + {
279 - // https://developers.line.biz/en/reference/messaging-api/#template-messages 의 confirm 를 참고해서 응용하시면 될 것 같습니다. 626 + url: TARGET_URL,
627 + headers:
628 + {
629 + 'Authorization': `Bearer ${Info.TOKEN}`
630 + },
631 + json:
632 + {
633 + "replyToken": replyToken,
634 + "messages":
635 + [
636 + {
637 + "type": "template",
638 + "altText": "설정메뉴입니다.",
639 + "template": {
640 + "type": "buttons",
641 + "title": "유튜브 주소 전송 여부 변경",
642 + "text": "아래 항목을 골라주세요.",
643 + "actions": [
644 + {
645 + "type": "postback",
646 + "label": "유튜브 주소 전송 O",
647 + "data": "enableaddress"
648 + },
649 + {
650 + "type": "postback",
651 + "label": "유튜브 주소 전송 X",
652 + "data": "unableaddress"
653 + },
654 + ]
655 + }
656 + }
657 + ]
658 + }
659 + }
660 +
661 + );
662 +}
663 +
664 +exports.enableaddress = function(replyToken,userId)
665 +{
666 + console.log('주소 활성화 됨.');
667 + setting_SendAddress[setting_userId.indexOf(userId)]=1;
668 + request.post(
669 + {
670 + url: TARGET_URL,
671 + headers:
672 + {
673 + 'Authorization': `Bearer ${Info.TOKEN}`
674 + },
675 + json:
676 + {
677 + "replyToken": replyToken,
678 + "messages":
679 + [
680 + {
681 + "type": "text",
682 + "text": "이제 유튜브 주소가 전송됩니다!"
683 + }
684 + ]
685 + }
686 + }
687 + );
688 +}
689 +exports.unableaddress = function(replyToken,userId)
690 +{
691 + console.log('주소 비활성화 됨.');
692 + setting_SendAddress[setting_userId.indexOf(userId)]=0;
693 + request.post(
694 + {
695 + url: TARGET_URL,
696 + headers:
697 + {
698 + 'Authorization': `Bearer ${Info.TOKEN}`
699 + },
700 + json:
701 + {
702 + "replyToken": replyToken,
703 + "messages":
704 + [
705 + {
706 + "type": "text",
707 + "text": "이제 유튜브 주소가 전송되지 않습니다!"
708 + }
709 + ]
710 + }
711 + }
712 + );
280 } 713 }
281 714
282 exports.check = function (message, replyToken, userId) { 715 exports.check = function (message, replyToken, userId) {
...@@ -331,6 +764,10 @@ exports.check = function (message, replyToken, userId) { ...@@ -331,6 +764,10 @@ exports.check = function (message, replyToken, userId) {
331 choose = 304; 764 choose = 304;
332 choice = ids.all_ids[choose] 765 choice = ids.all_ids[choose]
333 break; 766 break;
767 + case "플레이리스트":
768 + choose = 100;
769 + choice = 0;
770 + break;
334 case "도움말": 771 case "도움말":
335 choose = 001; 772 choose = 001;
336 choice = 0; 773 choice = 0;
...@@ -417,14 +854,16 @@ exports.check = function (message, replyToken, userId) { ...@@ -417,14 +854,16 @@ exports.check = function (message, replyToken, userId) {
417 +"\n"+"- '플레이리스트'를 입력하면 분류에 따라 엄선한 음악을 추천드립니다!" 854 +"\n"+"- '플레이리스트'를 입력하면 분류에 따라 엄선한 음악을 추천드립니다!"
418 +"\n"+"- '설정'을 입력하면 썸네일 출력 여부, 추천 음악 개수(1~10), 유튜브 주소 전송 여부를 설정하실 수 있습니다." 855 +"\n"+"- '설정'을 입력하면 썸네일 출력 여부, 추천 음악 개수(1~10), 유튜브 주소 전송 여부를 설정하실 수 있습니다."
419 +"\n"+"- 이 도움말을 다시 보고 싶으시다면 '도움말'을 입력하시면 됩니다! 음악과 함께 좋은 하루 보내세요."; 856 +"\n"+"- 이 도움말을 다시 보고 싶으시다면 '도움말'을 입력하시면 됩니다! 음악과 함께 좋은 하루 보내세요.";
420 - SEND_TEXT(replyToken,sendMessage); 857 + HELP(replyToken,sendMessage);
421 } 858 }
422 else if (choose == 002) { // 설정 859 else if (choose == 002) { // 설정
423 - sendMessage = "설정 예시"; 860 + SETTINGS(replyToken);
424 - SETTINGS(replyToken,sendMessage);
425 } 861 }
426 862
427 else { //플레이리스트 863 else { //플레이리스트
864 +
865 + PLAYLIST(replyToken);
866 + /*
428 service.playlistItems.list( 867 service.playlistItems.list(
429 { 868 {
430 key: Info.YoutubeKey, 869 key: Info.YoutubeKey,
...@@ -444,5 +883,6 @@ exports.check = function (message, replyToken, userId) { ...@@ -444,5 +883,6 @@ exports.check = function (message, replyToken, userId) {
444 SEND_LIST(replyToken,response,choice,setting_Thumbnail[setting_userId.indexOf(userId)],setting_SendAmount[setting_userId.indexOf(userId)],setting_SendAddress[setting_userId.indexOf(userId)]); 883 SEND_LIST(replyToken,response,choice,setting_Thumbnail[setting_userId.indexOf(userId)],setting_SendAmount[setting_userId.indexOf(userId)],setting_SendAddress[setting_userId.indexOf(userId)]);
445 } 884 }
446 ) 885 )
886 + */
447 } 887 }
448 } 888 }
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -11,7 +11,6 @@ var app = express(); ...@@ -11,7 +11,6 @@ var app = express();
11 app.use(bodyParser.json()); 11 app.use(bodyParser.json());
12 var songs = require('./check'); 12 var songs = require('./check');
13 var thumbnail = 1;// 썸네일 출력 여부 (1:출력/0:미출력/기본값:1) 13 var thumbnail = 1;// 썸네일 출력 여부 (1:출력/0:미출력/기본값:1)
14 -var post2 = require('./post2');
15 var thumbnail_yes; 14 var thumbnail_yes;
16 app.post('/hook', function (req, res) { 15 app.post('/hook', function (req, res) {
17 16
...@@ -20,90 +19,91 @@ app.post('/hook', function (req, res) { ...@@ -20,90 +19,91 @@ app.post('/hook', function (req, res) {
20 19
21 // request log 20 // request log
22 console.log('======================', new Date(), '======================'); 21 console.log('======================', new Date(), '======================');
23 - console.log(eventObj); 22 +
24 if (eventObj.type=="message") // 일반 메시지일때 23 if (eventObj.type=="message") // 일반 메시지일때
25 react(eventObj.replyToken, message.text,eventObj.source.userId); 24 react(eventObj.replyToken, message.text,eventObj.source.userId);
26 - else if (eventObj.postback.data=="썸네일") //설정에서 썸네일 설정버튼을 눌렀을때
27 - {
28 - console.log('썸네일 출력 설정');
29 - request.post(
30 - {
31 - url: TARGET_URL,
32 - headers:
33 - {
34 - 'Authorization': `Bearer ${Info.TOKEN}`
35 - },
36 - json:
37 - {
38 - "replyToken": eventObj.replyToken,
39 - "messages":
40 - [
41 - {
42 - "type": "text",
43 - "text": sendMessage
44 - },
45 - {
46 - "type": "template",
47 - "altText": "설정메뉴입니다.",
48 - "template": {
49 - "type": "buttons",
50 - "title": "썸네일 출력 여부 변경",
51 - "text": "아래 항목을 골라주세요.",
52 - "actions": [
53 - {
54 - "type": "postback",
55 - "label": "썸네일 출력 O",
56 - "data": thumbnail_yes = 1
57 - },
58 - {
59 - "type": "postback",
60 - "label": "썸네일 출력 X",
61 - "data": thumbnail_yes = 0
62 - },
63 - {
64 - "type": "postback",
65 - "label": "뒤로가기",
66 - "data": thumbnail_yes = -1
67 - }
68 - ]
69 - }
70 - }
71 - ]
72 - }
73 - }
74 -
75 - );
76 25
26 + else
27 + switch (eventObj.postback.data) {
28 + case "썸네일": //설정에서 썸네일 설정버튼을 눌렀을때
29 + songs.thumbnail_settings(eventObj.replyToken);
30 + break;
31 + case "enablethumbnail": //설정 -> 썸네일 설정 -> 활성화
32 + songs.enablethumbnail(eventObj.replyToken,eventObj.source.userId);
33 + break;
34 + case "unablethumbnail": //설정 -> 썸네일 설정 -> 비활성화
35 + songs.unablethumbnail(eventObj.replyToken,eventObj.source.userId);
36 + break;
77 37
78 - }
79 - else if (eventObj.postback.data=="개수") //설정에서 출력 개수 설정버튼을 눌렀을때
80 - songs.amount_settings(eventObj.replyToken,eventObj.source.userId);
81 -
82 - //else if (출력 개수 설정 버튼을 누르고 거기서 응답이 들어왔을때)
83 38
84 - else if (eventObj.postback.data=="주소") //설정에서 유튜브 주소 설정버튼을 눌렀을때
85 - songs.address_settings(eventObj.replyToken,eventObj.source.userId);
86 39
87 - //else if (유튜브 주소 설정 버튼을 누르고 거기서 응답이 들어왔을때)
88 40
89 - //★★else if (플레이리스트를 입력했을때 뜬 버튼에서 장르를 눌렀을때) 41 + case "개수": //설정에서 출력 개수 설정버튼을 눌렀을때
42 + songs.amount_settings(eventObj.replyToken,eventObj.source.userId);
43 + break;
44 +
45 +
46 +
47 +
48 + case "주소": //설정에서 유튜브 주소 설정버튼을 눌렀을때
49 + songs.address_settings(eventObj.replyToken);
50 + break;
51 + case "enableaddress": //설정 -> 주소 설정 -> 활성화
52 + songs.enableaddress(eventObj.replyToken,eventObj.source.userId);
53 + break;
54 + case "unableaddress": //설정 -> 주소 설정 -> 비활성화
55 + songs.unableaddress(eventObj.replyToken,eventObj.source.userId);
56 + break;
57 +
58 +
59 + case "genre": // 플레이리스트 -> 장르
60 + songs.genre(eventObj.replyToken);
61 + break;
62 +
63 + case "hiphop": // 플레이리스트 -> 장르 -> 힙합
64 + songs.hiphop(eventObj.replyToken,eventObj.source.userId);
65 + break;
66 + case "piano": // 플레이리스트 -> 장르 -> 피아노
67 + songs.piano(eventObj.replyToken,eventObj.source.userId);
68 + break;
69 + case "pop": // 플레이리스트 -> 장르 -> 팝
70 + songs.pop(eventObj.replyToken,eventObj.source.userId);
71 + break;
72 +
73 + case "mood": // 플레이리스트 -> 무드
74 + songs.mood(eventObj.replyToken);
75 + break;
76 +
77 + case "exciting": // 플레이리스트 -> 무드 -> 신남
78 + songs.exciting(eventObj.replyToken,eventObj.source.userId);
79 + break;
80 + case "sad": // 플레이리스트 -> 무드 -> 슬픔
81 + songs.sad(eventObj.replyToken,eventObj.source.userId);
82 + break;
83 +
84 + case "singer": // 플레이리스트 -> 가수
85 + songs.singer(eventObj.replyToken);
86 + break;
87 +
88 + case "blackpink": // 플레이리스트 -> 가수 -> 블랙핑크
89 + songs.blackpink(eventObj.replyToken,eventObj.source.userId);
90 + break;
91 + case "iu": // 플레이리스트 -> 가수 -> 아이유
92 + songs.iu(eventObj.replyToken,eventObj.source.userId);
93 + break;
94 + case "redvelvet": // 플레이리스트 -> 가수 -> 레드벨벳
95 + songs.redvelvet(eventObj.replyToken,eventObj.source.userId);
96 + break;
97 + case "twice": // 플레이리스트 -> 가수 -> 트와이스
98 + songs.twice(eventObj.replyToken,eventObj.source.userId);
99 + break;
90 100
91 - //★★else if (플레이리스트를 입력했을때 뜬 버튼에서 무드를 눌렀을때)
92 101
93 - //★★else if (플레이리스트를 입력했을때 뜬 버튼에서 가수를 눌렀을때) 102 + //else if (출력 개수 설정 버튼을 누르고 거기서 응답이 들어왔을때)
94 - thumbnail_yes = postback.data;
95 - console.log("thumbnail_yes : "+thumbnail_yes);
96 - if (thumbnail_yes === 1 || thumbnail_yes === 0) {
97 - songs.thumbnail_settings(thumbnail_yes, eventObj.source.userId);
98 103
99 - }
100 - else if (thumbnail_yes === -1) console.log("뒤로가기");
101 - else console.log("NULL값 입력임");
102 104
105 +};
103 106
104 -console.log("11");
105 - res.sendStatus(200);
106 -});
107 function react(replyToken, message,userId) { 107 function react(replyToken, message,userId) {
108 108
109 request.post( 109 request.post(
......