Toggle navigation
Toggle navigation
This project
Loading...
Sign in
신원형
/
study-or-enjoy
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
1
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
김연우
2022-06-05 19:52:03 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
53f728ee469e4cf7ca01ce6dfe68ec7ce36c758f
53f728ee
1 parent
9572636f
sorting destination
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
195 additions
and
52 deletions
package-lock.json
package.json
read_csv.js
package-lock.json
View file @
53f728e
This diff is collapsed. Click to expand it.
package.json
View file @
53f728e
{
"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
}
...
...
read_csv.js
View file @
53f728e
...
...
@@ -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
...
...
Please
register
or
login
to post a comment