Showing
3 changed files
with
549 additions
and
113 deletions
Info.js
deleted
100644 → 0
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,31 +233,377 @@ function SETTINGS(replyToken,sendMessage) //설정 함수 | ... | @@ -237,31 +233,377 @@ 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 | + ) | ||
242 | 258 | ||
243 | - // 여기서 썸네일을 출력할지 말지 물어보고나서, 웹훅의 응답을 받아 그 응답에 따라서 | 259 | +} |
244 | - // setting_Thumbnail[setting_userId.indexOf(userId)] 의 값를 수정합니다. | ||
245 | - // https://developers.line.biz/en/reference/messaging-api/#template-messages 의 confirm 를 참고해서 응용하시면 될 것 같습니다. | ||
246 | - // 이곳에 userid에 맞게 setting_Thumbnail, setting_SendAmount, setting_SendAddress 의 값을 수정해주시면 됩니다. | ||
247 | - // var thumbnail; | ||
248 | - | ||
249 | - //console.log("111"); | ||
250 | - //console.log("111222"); | ||
251 | - | ||
252 | - // var eventObj = req.body.events[0]; | ||
253 | - //console.log("setting_userId.indexOf(userId) : before : " + setting_userId.indexOf(userId)); | ||
254 | 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 | +} | ||
308 | + | ||
309 | +exports.genre = function (replyToken) | ||
310 | +{ | ||
311 | + console.log("플레이리스트-장르"); | ||
312 | + request.post( | ||
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 | +} | ||
355 | + | ||
356 | +exports.hiphop = function(replyToken,userId) | ||
357 | +{ | ||
358 | + console.log('플레이리스트-장르-힙합'); | ||
359 | + sendplaylist(replyToken, userId, 101); | ||
360 | +} | ||
361 | + | ||
362 | +exports.piano = function(replyToken,userId) | ||
363 | +{ | ||
364 | + console.log('플레이리스트-장르-피아노'); | ||
365 | + sendplaylist(replyToken, userId, 102); | ||
366 | +} | ||
367 | + | ||
368 | +exports.pop = function(replyToken,userId) | ||
369 | +{ | ||
370 | + console.log('플레이리스트-장르-팝'); | ||
371 | + sendplaylist(replyToken, userId, 103); | ||
372 | +} | ||
373 | + | ||
374 | +exports.mood = function (replyToken) | ||
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 | +} | ||
415 | + | ||
416 | +exports.exciting = function(replyToken,userId) | ||
417 | +{ | ||
418 | + console.log('플레이리스트-무드-신남'); | ||
419 | + sendplaylist(replyToken, userId, 201); | ||
420 | +} | ||
421 | + | ||
422 | +exports.sad = function(replyToken,userId) | ||
423 | +{ | ||
424 | + console.log('플레이리스트-무드-슬픔'); | ||
425 | + sendplaylist(replyToken, userId, 202); | ||
426 | +} | ||
427 | + | ||
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 | +} | ||
481 | + | ||
482 | +exports.blackpink = function(replyToken,userId) | ||
483 | +{ | ||
484 | + console.log('플레이리스트-가수-블랙핑크'); | ||
485 | + sendplaylist(replyToken, userId, 301); | ||
486 | +} | ||
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 | +{ | ||
255 | 509 | ||
256 | - setting_Thumbnail[setting_userId.indexOf(userId)] = thumbnail_yes; | 510 | + console.log('썸네일 전송 설정'); |
257 | - //console.log("setting_userId.indexOf(userId) : after : " + setting_Thumbnail[setting_userId.indexOf(userId)]) | 511 | + request.post( |
258 | - | 512 | + { |
259 | - | 513 | + url: TARGET_URL, |
260 | - console.log(thumbnail_yes + "after"); | 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 | + } | ||
261 | 547 | ||
262 | - console.log("111111"); | 548 | + ); |
549 | +} | ||
263 | 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 | + ); | ||
264 | } | 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 | + | ||
265 | 607 | ||
266 | exports.amount_settings = function (replyToken, userId) | 608 | exports.amount_settings = function (replyToken, userId) |
267 | { | 609 | { |
... | @@ -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,) | ||
622 | +{ | ||
623 | + console.log('유튜브 주소 전송 설정'); | ||
624 | + request.post( | ||
625 | + { | ||
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) | ||
275 | { | 690 | { |
276 | - console.log('유튜브 주소 출력 설정'); | 691 | + console.log('주소 비활성화 됨.'); |
277 | - // 여기서 유튜브 주소를 출력할지 말지 물어보고나서, 웹훅의 응답을 받아 그 응답에 따라서 | 692 | + setting_SendAddress[setting_userId.indexOf(userId)]=0; |
278 | - // setting_SendAddress[setting_userId.indexOf(userId)] 의 값를 수정합니다. | 693 | + request.post( |
279 | - // https://developers.line.biz/en/reference/messaging-api/#template-messages 의 confirm 를 참고해서 응용하시면 될 것 같습니다. | 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=="썸네일") //설정에서 썸네일 설정버튼을 눌렀을때 | 25 | + |
27 | - { | 26 | + else |
28 | - console.log('썸네일 출력 설정'); | 27 | + switch (eventObj.postback.data) { |
29 | - request.post( | 28 | + case "썸네일": //설정에서 썸네일 설정버튼을 눌렀을때 |
30 | - { | 29 | + songs.thumbnail_settings(eventObj.replyToken); |
31 | - url: TARGET_URL, | 30 | + break; |
32 | - headers: | 31 | + case "enablethumbnail": //설정 -> 썸네일 설정 -> 활성화 |
33 | - { | 32 | + songs.enablethumbnail(eventObj.replyToken,eventObj.source.userId); |
34 | - 'Authorization': `Bearer ${Info.TOKEN}` | 33 | + break; |
35 | - }, | 34 | + case "unablethumbnail": //설정 -> 썸네일 설정 -> 비활성화 |
36 | - json: | 35 | + songs.unablethumbnail(eventObj.replyToken,eventObj.source.userId); |
37 | - { | 36 | + break; |
38 | - "replyToken": eventObj.replyToken, | 37 | + |
39 | - "messages": | 38 | + |
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 | - | ||
77 | - | ||
78 | - } | ||
79 | - else if (eventObj.postback.data=="개수") //설정에서 출력 개수 설정버튼을 눌렀을때 | ||
80 | - songs.amount_settings(eventObj.replyToken,eventObj.source.userId); | ||
81 | 39 | ||
82 | - //else if (출력 개수 설정 버튼을 누르고 거기서 응답이 들어왔을때) | ||
83 | 40 | ||
84 | - else if (eventObj.postback.data=="주소") //설정에서 유튜브 주소 설정버튼을 눌렀을때 | 41 | + case "개수": //설정에서 출력 개수 설정버튼을 눌렀을때 |
85 | - songs.address_settings(eventObj.replyToken,eventObj.source.userId); | 42 | + songs.amount_settings(eventObj.replyToken,eventObj.source.userId); |
43 | + break; | ||
86 | 44 | ||
87 | - //else if (유튜브 주소 설정 버튼을 누르고 거기서 응답이 들어왔을때) | ||
88 | 45 | ||
89 | - //★★else if (플레이리스트를 입력했을때 뜬 버튼에서 장르를 눌렀을때) | ||
90 | 46 | ||
91 | - //★★else if (플레이리스트를 입력했을때 뜬 버튼에서 무드를 눌렀을때) | ||
92 | 47 | ||
93 | - //★★else if (플레이리스트를 입력했을때 뜬 버튼에서 가수를 눌렀을때) | 48 | + case "주소": //설정에서 유튜브 주소 설정버튼을 눌렀을때 |
94 | - thumbnail_yes = postback.data; | 49 | + songs.address_settings(eventObj.replyToken); |
95 | - console.log("thumbnail_yes : "+thumbnail_yes); | 50 | + break; |
96 | - if (thumbnail_yes === 1 || thumbnail_yes === 0) { | 51 | + case "enableaddress": //설정 -> 주소 설정 -> 활성화 |
97 | - songs.thumbnail_settings(thumbnail_yes, eventObj.source.userId); | 52 | + songs.enableaddress(eventObj.replyToken,eventObj.source.userId); |
53 | + break; | ||
54 | + case "unableaddress": //설정 -> 주소 설정 -> 비활성화 | ||
55 | + songs.unableaddress(eventObj.replyToken,eventObj.source.userId); | ||
56 | + break; | ||
98 | 57 | ||
99 | - } | ||
100 | - else if (thumbnail_yes === -1) console.log("뒤로가기"); | ||
101 | - else console.log("NULL값 입력임"); | ||
102 | 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; | ||
100 | + | ||
101 | + | ||
102 | + //else if (출력 개수 설정 버튼을 누르고 거기서 응답이 들어왔을때) | ||
103 | + | ||
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( | ... | ... |
-
Please register or login to post a comment