김연우

sorting destination

This diff is collapsed. Click to expand it.
{
"name":"study-or-enjoy",
"version":"1.0.0",
"description":"",
"main":"main.js",
"scripts":{
"test":"mocha --debug-brk"
"name": "study-or-enjoy",
"version": "1.0.0",
"description": "",
"main": "main.js",
"scripts": {
"test": "mocha --debug-brk"
},
"repository":{
"type":"git",
"url":"http://khuhub.khu.ac.kr/2018102202/study-or-enjoy"
"repository": {
"type": "git",
"url": "http://khuhub.khu.ac.kr/2018102202/study-or-enjoy"
},
"author":"",
"license":"",
"dependencies":{
"@types/axios":"^0.14.0",
"@types/selenium-webdriver":"^4.1.0",
"axios":"^0.27.2",
"mocha":"^10.0.0",
"selenium-webdriver":"^4.1.2"
"author": "",
"license": "",
"dependencies": {
"@types/axios": "^0.14.0",
"@types/selenium-webdriver": "^4.1.0",
"axios": "^0.27.2",
"express": "^4.18.1",
"express-session": "^1.17.3",
"mocha": "^10.0.0",
"request": "^2.88.2",
"selenium-webdriver": "^4.1.2"
},
"type":"commonjs",
"devDependencies":{
"@types/node":"^17.0.35",
"eslint":"^8.16.0"
"type": "commonjs",
"devDependencies": {
"@types/node": "^17.0.35",
"eslint": "^8.16.0"
}
}
\ No newline at end of file
}
......
......@@ -4,36 +4,176 @@ const results = [];
var choice = "놀거리"
//대분류 선택 과정 필요
exports.chooseFile = function () {
if (choice == "카페") {
fs.createReadStream('cafe_list.csv')
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
}
else if (choice == "식사") {
fs.createReadStream('meal_list.csv')
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
}
else if (choice == "놀거리") {
fs.createReadStream('play_list.csv')
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
}
else if (choice == "술집") {
fs.createReadStream('bar_list.csv')
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
}
}
//chatbot - reply - app.js
var first = false; //첫 시도인지
var second = false; //첫번째 분류 선택했는지
var destCar = "";
const bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.post('/hook', function (req, res) {
var eventObj = req.body.events[0];
var source = eventObj.source;
var message = eventObj.message;
// request log
console.log('======================', new Date(), '======================');
console.log('[request]', req.body);
console.log('[request source] ', eventObj.source);
console.log('[request message]', eventObj.message);
if (first == false && eventObj.message.text == "처음") {
request.post(
{
url: TARGET_URL,
headers: {
'Authorization': `Bearer ${TOKEN}`
},
json: {
"replyToken": eventObj.replyToken,
"messages": [
{
"type": "text",
"text": "카테고리를 선택해주세요.\n1. 식사\n2. 카페\n3. 술\n4. 놀거리\n(숫자만 입력해주세요)"
}
]
},
}, (error, response, body) => {
console.log(body)
});
first = true;
}
if(choice == "카페"){
fs.createReadStream('cafe_list.csv')
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
else if (first == true && second == false) {
if (eventObj.message.text == 1) { //식사 선택
request.post(
{
url: TARGET_URL, headers: { 'Authorization': `Bearer ${TOKEN}` }, json: {
"replyToken": eventObj.replyToken,
"messages": [{ "type": "text", "text": "[식사] 키워드를 선택해주세요\n1. 양식\n2. 한식\n3. 중식\n4. 일식\n5. 기타 " }]
}
}, (error, response, body) => {
console.log(body)
});
destCar = "meal";
} else if (eventObj.message.text == 2) { //카페 선택
request.post(
{
url: TARGET_URL, headers: { 'Authorization': `Bearer ${TOKEN}` }, json: {
"replyToken": eventObj.replyToken,
"messages": [{ "type": "text", "text": "[카페] 키워드를 선택해주세요\n1. 감성\n2. 카공\n3. 디저트" }]
}
}, (error, response, body) => {
console.log(body)
});
destCar = "cafe";
} else if (eventObj.message.text == 3) { //술 선택
request.post(
{
url: TARGET_URL, headers: { 'Authorization': `Bearer ${TOKEN}` }, json: {
"replyToken": eventObj.replyToken,
"messages": [{ "type": "text", "text": "[술] 키워드를 선택해주세요\n1. 소주\n2. 이자카야\n3. 막걸리\n4. 맥주" }]
}
}, (error, response, body) => {
console.log(body)
});
destCar = "bar"
} else if (eventObj.message.text == 4) { //놀거리 선택
request.post(
{
url: TARGET_URL, headers: { 'Authorization': `Bearer ${TOKEN}` }, json: {
"replyToken": eventObj.replyToken,
"messages": [{ "type": "text", "text": "[놀거리] 키워드를 선택해주세요\n1. 노래방\n2. 피시방\n3. 기타" }]
}
}, (error, response, body) => {
console.log(body)
});
destCar = "play"
}
second = true;
}
else if (first == true && second == true) {
if (destCar == "meal") {
if (eventObj.message.text == 1) { destination = "western"; console.log(destination) }
else if (eventObj.message.text == 2) { destination = "korean"; console.log(destination)}
else if (eventObj.message.text == 3) { destination = "chinese"; console.log(destination)}
else if (eventObj.message.text == 4) { destination = "japanese"; console.log(destination)}
else if (eventObj.message.text == 5) { destination = "meal_etc"; console.log(destination) }
}
else if (destCar == "cafe") {
if (eventObj.message.text == 1) { destination = "sns"; console.log(destination) }
else if (eventObj.message.text == 2) { destination = "study"; console.log(destination)}
else if (eventObj.message.text == 3) { destination = "dessert"; console.log(destination)}
}
else if (destCar == "bar") {
if (eventObj.message.text == 1) { destination = "soju"; console.log(destination) }
else if (eventObj.message.text == 2) { destination = "izakaya"; console.log(destination)}
else if (eventObj.message.text == 3) { destination = "makgeolli"; console.log(destination)}
else if (eventObj.message.text == 4) { destination = "beer"; console.log(destination)}
}
else if (destCar == "play") {
if (eventObj.message.text == 1) { destination = "karaoke"; console.log(destination) }
else if (eventObj.message.text == 2) { destination = "izakaya"; console.log(destination)}
else if (eventObj.message.text == 3) { destination = "play_etc"; console.log(destination)}
}
}
res.sendStatus(200);
});
try {
const option = {
ca: fs.readFileSync('/etc/letsencrypt/live/' + domain + '/fullchain.pem'),
key: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain + '/privkey.pem'), 'utf8').toString(),
cert: fs.readFileSync(path.resolve(process.cwd(), '/etc/letsencrypt/live/' + domain + '/cert.pem'), 'utf8').toString(),
};
HTTPS.createServer(option, app).listen(sslport, () => {
console.log(`[HTTPS] Server is started on port ${sslport}`);
});
}
else if (choice == "식사"){
fs.createReadStream('meal_list.csv')
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
}
else if (choice == "놀거리"){
fs.createReadStream('play_list.csv')
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
}
else if (choice == "술집"){
fs.createReadStream('bar_list.csv')
.pipe(csv())
.on('data', (data) => results.push(data))
.on('end', () => {
console.log(results);
});
} catch (error) {
console.log('[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.');
console.log(error);
}
\ No newline at end of file
......