Toggle navigation
Toggle navigation
This project
Loading...
Sign in
신일섭
/
ShoppingCart
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Graphs
Issues
4
Network
Create a new issue
Commits
Issue Boards
Authored by
신일섭
2020-06-05 01:56:17 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
19d53cf1cb103ecba94d79f47442eb665b1ecc04
19d53cf1
1 parent
5a3a18ed
쇼핑기능 접목중on process
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
66 additions
and
12 deletions
app.js
app.js
View file @
19d53cf
var
express
=
require
(
'express'
);
// ----------crawling modules---------------
var
puppeteer
=
require
(
'puppeteer'
);
var
gmarket
=
require
(
'./crawling/gmarket'
);
var
coupang
=
require
(
'./crawling/coupang'
);
var
auction
=
require
(
'./crawling/auction'
);
//------------------------------------------
const
request
=
require
(
'request'
);
//--------------- Line messanger modules -------------------
const
TARGET_URL
=
'https://api.line.me/v2/bot/message/reply'
const
TOKEN
=
'LFi+FvOOFOydz0EKN22WRnQyiilnEiyxe2HVV1WrI54Jnght6+Gga07m7pxqSQltBJG2AV2lYnYOAk4TqxzZFKW9R36CJcQs+NaNEiNKJtgBfT/t3tEta/J6GtXxGz/DqdHnfZqSSfLFpXzun/ITTwdB04t89/1O/w1cDnyilFU='
//----------------------------------------------------------
//---------------
--Translating moudules
----------------------
//---------------
Translating moudules
----------------------
const
PAPAGO_URL
=
'https://openapi.naver.com/v1/papago/n2mt'
const
PAPAGO_ID
=
'r_kuebFKCqBeL3SI_dFb'
const
PAPAGO_SECRET
=
'Wdz2tudrzB'
...
...
@@ -19,6 +15,15 @@ var trans = require('./trans/trans')
var
trans_counter
=
0
;
//-----------------------------------------------------------
// ---------- Shopping modules -------------
var
puppeteer
=
require
(
'puppeteer'
);
var
gmarket
=
require
(
'./crawling/gmarket'
);
var
coupang
=
require
(
'./crawling/coupang'
);
var
auction
=
require
(
'./crawling/auction'
);
var
shopping
=
0
;
// in shopping menu identifier 0 = idle, 1 = shop selecting, 2 = select complete
var
shop_select
=
undefined
// shopping-site identifier
//------------------------------------------
const
fs
=
require
(
'fs'
);
const
path
=
require
(
'path'
);
const
HTTPS
=
require
(
'https'
);
...
...
@@ -30,10 +35,11 @@ const bodyParser = require('body-parser');
var
app
=
express
();
//
------middlewares------------------------------
//
=============== middlewares ================
app
.
use
(
bodyParser
.
json
());
//--------------------Utility Selector----------------------------------------------------------------
//============== Utility Selector =========================================
app
.
post
(
'/hook'
,
function
(
req
,
res
)
{
//-------- request values ---------
...
...
@@ -49,7 +55,16 @@ app.post('/hook', function (req, res) {
console
.
log
(
'[request message]'
,
eventObj
.
message
);
//----------------------------------------------------------------------------
//--------------------language identification & translation-------------------
//--------------- Cancel ----------------------------------------------
if
(
message
.
text
.
includes
(
'/취소'
)){
replying
(
eventObj
.
replyToken
,
'진행중인 기능 및 메뉴를 종료합니다.'
);
shopping
=
0
;
shop_select
=
undefined
trans_counter
=
0
;
}
//---------------------------------------------------------------------
//----------------------- Translation which includes language-selector -----------------------------------------------
if
(
eventObj
.
message
.
text
.
includes
(
'/번역'
)){
console
.
log
(
'번역캐치: '
,
eventObj
.
message
.
text
);
trans_counter
=
trans
.
trans_lng_selector
(
eventObj
.
message
.
text
);
// after this trans_trigger = 1
...
...
@@ -57,14 +72,53 @@ app.post('/hook', function (req, res) {
else
if
(
trans_counter
==
1
){
trans_counter
=
trans
.
translating
(
eventObj
.
replyToken
,
eventObj
.
message
.
text
);
// after this trans_trigger = 0
}
//--------------------------------------------------------------------------------------------------------------------
//---------------------- linking Shoppingcart crawler ----------------------------------------------------------------
if
(
message
.
text
==
'/쇼핑'
){
replying
(
eventObj
.
replyToken
,
'쇼핑을 선택하셨습니다.\n원하시는 쇼핑몰 사이트를 선택하세요.\n현재 제공되는 사이트는 \n\n/g마켓\n/옥션\n/쿠팡\n\n입니다.\n/취소 로 해당 메뉴에서 퇴장이 가능합니다.'
);
shopping
=
1
;
// 다음 메세지에 선택하지 못할 경우 0으로 되돌릴 필요가있음
}
if
(
shopping
==
1
){
switch
(
message
.
text
){
case
'/g마켓'
:
break
;
case
'/옥션'
:
break
;
case
'/쿠팡'
:
break
;
default
:
shopping
==
0
;
}
}
//--------------------------------------------------------------------------------------------------------------------
res
.
sendStatus
(
200
);
});
//================== Just replying specific messages needed ===================================
function
replying
(
replyToken
,
sp_message
){
// sp_message is message(string) that depends on the situation that user selects
request
.
post
(
{
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
replyToken
,
"messages"
:[
{
"type"
:
"text"
,
"text"
:
sp_message
// replying message
}
]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
)
trans_trigger
=
0
;
return
trans_trigger
;
});
}
//==================== Creating Server : Port = val sslport ===============================
try
{
const
option
=
{
ca
:
fs
.
readFileSync
(
'/etc/letsencrypt/live/'
+
domain
+
'/fullchain.pem'
),
...
...
Please
register
or
login
to post a comment