엄성진

Add Buttons, Fix Function for Communicating

//라인 고유 토큰
exports.TOKEN = 'Kb1/rQYz4MUhF8XyKQv7z9x0MxVQ5bX/XO8S/yt/1qQEJVAbsEFAaMvXKEOx9Umr7KhivfyDPfZHRRLFPngR0O4ZGWV2VFses8ufPE7uAdvYr4G6keBNAU69nBz5IC71HfbIrUHxXYqD7GfhVwXzpwdB04t89/1O/w1cDnyilFU='
exports.YoutubeKey = 'AIzaSyBInggOtXxPFYIRee0Xs3vb5iZ9YE9_518'
exports.domain='2020105631.oss2021.tk'
\ No newline at end of file
This diff is collapsed. Click to expand it.
......@@ -11,7 +11,6 @@ var app = express();
app.use(bodyParser.json());
var songs = require('./check');
var thumbnail = 1;// 썸네일 출력 여부 (1:출력/0:미출력/기본값:1)
var post2 = require('./post2');
var thumbnail_yes;
app.post('/hook', function (req, res) {
......@@ -20,90 +19,91 @@ app.post('/hook', function (req, res) {
// request log
console.log('======================', new Date(), '======================');
console.log(eventObj);
if (eventObj.type=="message") // 일반 메시지일때
react(eventObj.replyToken, message.text,eventObj.source.userId);
else if (eventObj.postback.data=="썸네일") //설정에서 썸네일 설정버튼을 눌렀을때
{
console.log('썸네일 출력 설정');
request.post(
{
url: TARGET_URL,
headers:
{
'Authorization': `Bearer ${Info.TOKEN}`
},
json:
{
"replyToken": eventObj.replyToken,
"messages":
[
{
"type": "text",
"text": sendMessage
},
{
"type": "template",
"altText": "설정메뉴입니다.",
"template": {
"type": "buttons",
"title": "썸네일 출력 여부 변경",
"text": "아래 항목을 골라주세요.",
"actions": [
{
"type": "postback",
"label": "썸네일 출력 O",
"data": thumbnail_yes = 1
},
{
"type": "postback",
"label": "썸네일 출력 X",
"data": thumbnail_yes = 0
},
{
"type": "postback",
"label": "뒤로가기",
"data": thumbnail_yes = -1
}
]
}
}
]
}
}
);
}
else if (eventObj.postback.data=="개수") //설정에서 출력 개수 설정버튼을 눌렀을때
songs.amount_settings(eventObj.replyToken,eventObj.source.userId);
else
switch (eventObj.postback.data) {
case "썸네일": //설정에서 썸네일 설정버튼을 눌렀을때
songs.thumbnail_settings(eventObj.replyToken);
break;
case "enablethumbnail": //설정 -> 썸네일 설정 -> 활성화
songs.enablethumbnail(eventObj.replyToken,eventObj.source.userId);
break;
case "unablethumbnail": //설정 -> 썸네일 설정 -> 비활성화
songs.unablethumbnail(eventObj.replyToken,eventObj.source.userId);
break;
//else if (출력 개수 설정 버튼을 누르고 거기서 응답이 들어왔을때)
else if (eventObj.postback.data=="주소") //설정에서 유튜브 주소 설정버튼을 눌렀을때
songs.address_settings(eventObj.replyToken,eventObj.source.userId);
case "개수": //설정에서 출력 개수 설정버튼을 눌렀을때
songs.amount_settings(eventObj.replyToken,eventObj.source.userId);
break;
//else if (유튜브 주소 설정 버튼을 누르고 거기서 응답이 들어왔을때)
//★★else if (플레이리스트를 입력했을때 뜬 버튼에서 장르를 눌렀을때)
//★★else if (플레이리스트를 입력했을때 뜬 버튼에서 무드를 눌렀을때)
//★★else if (플레이리스트를 입력했을때 뜬 버튼에서 가수를 눌렀을때)
thumbnail_yes = postback.data;
console.log("thumbnail_yes : "+thumbnail_yes);
if (thumbnail_yes === 1 || thumbnail_yes === 0) {
songs.thumbnail_settings(thumbnail_yes, eventObj.source.userId);
case "주소": //설정에서 유튜브 주소 설정버튼을 눌렀을때
songs.address_settings(eventObj.replyToken);
break;
case "enableaddress": //설정 -> 주소 설정 -> 활성화
songs.enableaddress(eventObj.replyToken,eventObj.source.userId);
break;
case "unableaddress": //설정 -> 주소 설정 -> 비활성화
songs.unableaddress(eventObj.replyToken,eventObj.source.userId);
break;
}
else if (thumbnail_yes === -1) console.log("뒤로가기");
else console.log("NULL값 입력임");
case "genre": // 플레이리스트 -> 장르
songs.genre(eventObj.replyToken);
break;
case "hiphop": // 플레이리스트 -> 장르 -> 힙합
songs.hiphop(eventObj.replyToken,eventObj.source.userId);
break;
case "piano": // 플레이리스트 -> 장르 -> 피아노
songs.piano(eventObj.replyToken,eventObj.source.userId);
break;
case "pop": // 플레이리스트 -> 장르 -> 팝
songs.pop(eventObj.replyToken,eventObj.source.userId);
break;
case "mood": // 플레이리스트 -> 무드
songs.mood(eventObj.replyToken);
break;
case "exciting": // 플레이리스트 -> 무드 -> 신남
songs.exciting(eventObj.replyToken,eventObj.source.userId);
break;
case "sad": // 플레이리스트 -> 무드 -> 슬픔
songs.sad(eventObj.replyToken,eventObj.source.userId);
break;
case "singer": // 플레이리스트 -> 가수
songs.singer(eventObj.replyToken);
break;
case "blackpink": // 플레이리스트 -> 가수 -> 블랙핑크
songs.blackpink(eventObj.replyToken,eventObj.source.userId);
break;
case "iu": // 플레이리스트 -> 가수 -> 아이유
songs.iu(eventObj.replyToken,eventObj.source.userId);
break;
case "redvelvet": // 플레이리스트 -> 가수 -> 레드벨벳
songs.redvelvet(eventObj.replyToken,eventObj.source.userId);
break;
case "twice": // 플레이리스트 -> 가수 -> 트와이스
songs.twice(eventObj.replyToken,eventObj.source.userId);
break;
//else if (출력 개수 설정 버튼을 누르고 거기서 응답이 들어왔을때)
};
console.log("11");
res.sendStatus(200);
});
function react(replyToken, message,userId) {
request.post(
......