엄성진

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
This diff is collapsed. Click to expand it.
...@@ -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(
......