Toggle navigation
Toggle navigation
This project
Loading...
Sign in
곽원석
/
OSS-Project
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
곽원석
2020-12-04 23:22:57 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
1ef3c5170d825cf53322639515ea12335fd3e76a
1ef3c517
1 parent
3b60b130
Mother Project_legacy file
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
567 additions
and
0 deletions
app.js
package-lock.json
package.json
app.js
0 → 100644
View file @
1ef3c51
var
express
=
require
(
'express'
);
var
app
=
express
();
const
line
=
require
(
'@line/bot-sdk'
);
//papago api
var
request
=
require
(
'request'
);
//번역 api_url
var
translate_api_url
=
'https://openapi.naver.com/v1/papago/n2mt'
;
//언어감지 api_url
var
languagedetect_api_url
=
'https://openapi.naver.com/v1/papago/detectLangs'
// Naver Auth Key
//새로 발급받은 naver papago api id, pw 입력
var
client_id
=
'xZMx34y7uru1v8lywZ2d'
;
var
client_secret
=
'p6L7M7WsH9'
;
const
config
=
{
channelAccessToken
:
'mnny0MJSezgBXzR9C3Ddcc1Csdb7Y9jkvy2nqV5saOmvR2YOJ1/kj/2M0CNsLA+57B2qDpdUQ7WbCTtIKx/LAJ6Kwfop4tX3up7EM8H9EZK1td6GMbhhCb6wvUFVdb1PcTO4joCv8mspd3ubo8a+gAdB04t89/1O/w1cDnyilFU='
,
channelSecret
:
'bde77633a16fc5bfbd532d5990c6170e'
,
};
// create LINE SDK client
const
client
=
new
line
.
Client
(
config
);
// create Express app
// about Express itself: https://expressjs.com/
// register a webhook handler with middleware
// about the middleware, please refer to doc
app
.
post
(
'/webhook'
,
line
.
middleware
(
config
),
(
req
,
res
)
=>
{
Promise
.
all
(
req
.
body
.
events
.
map
(
handleEvent
))
.
then
((
result
)
=>
res
.
json
(
result
))
.
catch
((
err
)
=>
{
console
.
error
(
err
);
res
.
status
(
200
).
end
();
});
});
// event handler
function
handleEvent
(
event
)
{
if
(
event
.
type
!==
'message'
||
event
.
message
.
type
!==
'text'
)
{
// ignore non-text-message event
return
Promise
.
resolve
(
null
);
}
return
new
Promise
(
function
(
resolve
,
reject
)
{
//언어 감지 option
var
detect_options
=
{
url
:
languagedetect_api_url
,
form
:
{
'query'
:
event
.
message
.
text
},
headers
:
{
'X-Naver-Client-Id'
:
client_id
,
'X-Naver-Client-Secret'
:
client_secret
}
};
//papago 언어 감지
request
.
post
(
detect_options
,
function
(
error
,
response
,
body
){
console
.
log
(
response
.
statusCode
);
if
(
!
error
&&
response
.
statusCode
==
200
){
var
detect_body
=
JSON
.
parse
(
response
.
body
);
var
source
=
''
;
var
target
=
''
;
var
result
=
{
type
:
'text'
,
text
:
''
};
//언어 감지가 제대로 됐는지 확인
console
.
log
(
detect_body
.
langCode
);
//번역은 한국어->영어 / 영어->한국어만 지원
if
(
detect_body
.
langCode
==
'ko'
||
detect_body
.
langCode
==
'en'
){
source
=
detect_body
.
langCode
==
'ko'
?
'ko'
:
'en'
;
target
=
source
==
'ko'
?
'en'
:
'ko'
;
//papago 번역 option
var
options
=
{
url
:
translate_api_url
,
// 한국어(source : ko), 영어(target: en), 카톡에서 받는 메시지(text)
form
:
{
'source'
:
source
,
'target'
:
target
,
'text'
:
event
.
message
.
text
},
headers
:
{
'X-Naver-Client-Id'
:
client_id
,
'X-Naver-Client-Secret'
:
client_secret
}
};
// Naver Post API
request
.
post
(
options
,
function
(
error
,
response
,
body
){
// Translate API Sucess
if
(
!
error
&&
response
.
statusCode
==
200
){
// JSON
var
objBody
=
JSON
.
parse
(
response
.
body
);
// Message 잘 찍히는지 확인
result
.
text
=
objBody
.
message
.
result
.
translatedText
;
console
.
log
(
result
.
text
);
//번역된 문장 보내기
client
.
replyMessage
(
event
.
replyToken
,
result
).
then
(
resolve
).
catch
(
reject
);
}
});
}
// 메시지의 언어가 영어 또는 한국어가 아닐 경우
else
{
result
.
text
=
'언어를 감지할 수 없습니다. \n 번역 언어는 한글 또는 영어만 가능합니다.'
;
client
.
replyMessage
(
event
.
replyToken
,
result
).
then
(
resolve
).
catch
(
reject
);
}
}
});
});
}
app
.
listen
(
3000
,
function
()
{
console
.
log
(
'Linebot listening on port 3000!'
);
});
package-lock.json
0 → 100644
View file @
1ef3c51
{
"name"
:
"linebot"
,
"version"
:
"1.0.0"
,
"lockfileVersion"
:
1
,
"requires"
:
true
,
"dependencies"
:
{
"@line/bot-sdk"
:
{
"version"
:
"6.4.0"
,
"resolved"
:
"https://registry.npmjs.org/@line/bot-sdk/-/bot-sdk-6.4.0.tgz"
,
"integrity"
:
"sha512-N0FkrqFxTTleOpD6y7DTK8qbMYHr9Q8qZfrAmSYEFAGedM1HLJdbNNkStj5GT+svx+w+/ePF/n7nAEts0aJwkA=="
,
"requires"
:
{
"@types/body-parser"
:
"^1.16.8"
,
"@types/file-type"
:
"^5.2.1"
,
"@types/node"
:
"^7.0.31"
,
"axios"
:
"^0.16.2"
,
"body-parser"
:
"^1.18.2"
,
"file-type"
:
"^7.2.0"
}
},
"@types/body-parser"
:
{
"version"
:
"1.17.0"
,
"resolved"
:
"https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz"
,
"integrity"
:
"sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w=="
,
"requires"
:
{
"@types/connect"
:
"*"
,
"@types/node"
:
"*"
}
},
"@types/connect"
:
{
"version"
:
"3.4.32"
,
"resolved"
:
"https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz"
,
"integrity"
:
"sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg=="
,
"requires"
:
{
"@types/node"
:
"*"
}
},
"@types/file-type"
:
{
"version"
:
"5.2.2"
,
"resolved"
:
"https://registry.npmjs.org/@types/file-type/-/file-type-5.2.2.tgz"
,
"integrity"
:
"sha512-GWtM4fyqfb+bec4ocpo51/y4x0b83Je+iA6eV131LT9wL0//G+1UgwbkMg7w61ceOwR+KkZXK00z44jrrNljWg=="
,
"requires"
:
{
"@types/node"
:
"*"
}
},
"@types/node"
:
{
"version"
:
"7.10.2"
,
"resolved"
:
"https://registry.npmjs.org/@types/node/-/node-7.10.2.tgz"
,
"integrity"
:
"sha512-RO4ig5taKmcrU4Rex8ojG1gpwFkjddzug9iPQSDvbewHN9vDpcFewevkaOK+KT+w1LeZnxbgOyfXwV4pxsQ4GQ=="
},
"accepts"
:
{
"version"
:
"1.3.5"
,
"resolved"
:
"https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz"
,
"integrity"
:
"sha1-63d99gEXI6OxTopywIBcjoZ0a9I="
,
"requires"
:
{
"mime-types"
:
"~2.1.18"
,
"negotiator"
:
"0.6.1"
}
},
"array-flatten"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
,
"integrity"
:
"sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"axios"
:
{
"version"
:
"0.16.2"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-0.16.2.tgz"
,
"integrity"
:
"sha1-uk+S8XFn37q0CYN4VFS5rBScPG0="
,
"requires"
:
{
"follow-redirects"
:
"^1.2.3"
,
"is-buffer"
:
"^1.1.5"
}
},
"body-parser"
:
{
"version"
:
"1.18.3"
,
"resolved"
:
"https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz"
,
"integrity"
:
"sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ="
,
"requires"
:
{
"bytes"
:
"3.0.0"
,
"content-type"
:
"~1.0.4"
,
"debug"
:
"2.6.9"
,
"depd"
:
"~1.1.2"
,
"http-errors"
:
"~1.6.3"
,
"iconv-lite"
:
"0.4.23"
,
"on-finished"
:
"~2.3.0"
,
"qs"
:
"6.5.2"
,
"raw-body"
:
"2.3.3"
,
"type-is"
:
"~1.6.16"
}
},
"bytes"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz"
,
"integrity"
:
"sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
},
"content-disposition"
:
{
"version"
:
"0.5.2"
,
"resolved"
:
"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz"
,
"integrity"
:
"sha1-DPaLud318r55YcOoUXjLhdunjLQ="
},
"content-type"
:
{
"version"
:
"1.0.4"
,
"resolved"
:
"https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz"
,
"integrity"
:
"sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
},
"cookie"
:
{
"version"
:
"0.3.1"
,
"resolved"
:
"https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz"
,
"integrity"
:
"sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
},
"cookie-signature"
:
{
"version"
:
"1.0.6"
,
"resolved"
:
"https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
,
"integrity"
:
"sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"debug"
:
{
"version"
:
"2.6.9"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
,
"integrity"
:
"sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
,
"requires"
:
{
"ms"
:
"2.0.0"
}
},
"depd"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
,
"integrity"
:
"sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
"destroy"
:
{
"version"
:
"1.0.4"
,
"resolved"
:
"https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
,
"integrity"
:
"sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"ee-first"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
,
"integrity"
:
"sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"encodeurl"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
,
"integrity"
:
"sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
},
"escape-html"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
,
"integrity"
:
"sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"etag"
:
{
"version"
:
"1.8.1"
,
"resolved"
:
"https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
,
"integrity"
:
"sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"express"
:
{
"version"
:
"4.16.4"
,
"resolved"
:
"https://registry.npmjs.org/express/-/express-4.16.4.tgz"
,
"integrity"
:
"sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg=="
,
"requires"
:
{
"accepts"
:
"~1.3.5"
,
"array-flatten"
:
"1.1.1"
,
"body-parser"
:
"1.18.3"
,
"content-disposition"
:
"0.5.2"
,
"content-type"
:
"~1.0.4"
,
"cookie"
:
"0.3.1"
,
"cookie-signature"
:
"1.0.6"
,
"debug"
:
"2.6.9"
,
"depd"
:
"~1.1.2"
,
"encodeurl"
:
"~1.0.2"
,
"escape-html"
:
"~1.0.3"
,
"etag"
:
"~1.8.1"
,
"finalhandler"
:
"1.1.1"
,
"fresh"
:
"0.5.2"
,
"merge-descriptors"
:
"1.0.1"
,
"methods"
:
"~1.1.2"
,
"on-finished"
:
"~2.3.0"
,
"parseurl"
:
"~1.3.2"
,
"path-to-regexp"
:
"0.1.7"
,
"proxy-addr"
:
"~2.0.4"
,
"qs"
:
"6.5.2"
,
"range-parser"
:
"~1.2.0"
,
"safe-buffer"
:
"5.1.2"
,
"send"
:
"0.16.2"
,
"serve-static"
:
"1.13.2"
,
"setprototypeof"
:
"1.1.0"
,
"statuses"
:
"~1.4.0"
,
"type-is"
:
"~1.6.16"
,
"utils-merge"
:
"1.0.1"
,
"vary"
:
"~1.1.2"
}
},
"file-type"
:
{
"version"
:
"7.7.1"
,
"resolved"
:
"https://registry.npmjs.org/file-type/-/file-type-7.7.1.tgz"
,
"integrity"
:
"sha512-bTrKkzzZI6wH+NXhyD3SOXtb2zXTw2SbwI2RxUlRcXVsnN7jNL5hJzVQLYv7FOQhxFkK4XWdAflEaWFpaLLWpQ=="
},
"finalhandler"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz"
,
"integrity"
:
"sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg=="
,
"requires"
:
{
"debug"
:
"2.6.9"
,
"encodeurl"
:
"~1.0.2"
,
"escape-html"
:
"~1.0.3"
,
"on-finished"
:
"~2.3.0"
,
"parseurl"
:
"~1.3.2"
,
"statuses"
:
"~1.4.0"
,
"unpipe"
:
"~1.0.0"
}
},
"follow-redirects"
:
{
"version"
:
"1.5.10"
,
"resolved"
:
"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz"
,
"integrity"
:
"sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ=="
,
"requires"
:
{
"debug"
:
"=3.1.0"
},
"dependencies"
:
{
"debug"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-3.1.0.tgz"
,
"integrity"
:
"sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g=="
,
"requires"
:
{
"ms"
:
"2.0.0"
}
}
}
},
"forwarded"
:
{
"version"
:
"0.1.2"
,
"resolved"
:
"https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz"
,
"integrity"
:
"sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
},
"fresh"
:
{
"version"
:
"0.5.2"
,
"resolved"
:
"https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
,
"integrity"
:
"sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"http-errors"
:
{
"version"
:
"1.6.3"
,
"resolved"
:
"http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
,
"integrity"
:
"sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0="
,
"requires"
:
{
"depd"
:
"~1.1.2"
,
"inherits"
:
"2.0.3"
,
"setprototypeof"
:
"1.1.0"
,
"statuses"
:
">= 1.4.0 < 2"
}
},
"iconv-lite"
:
{
"version"
:
"0.4.23"
,
"resolved"
:
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz"
,
"integrity"
:
"sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA=="
,
"requires"
:
{
"safer-buffer"
:
">= 2.1.2 < 3"
}
},
"inherits"
:
{
"version"
:
"2.0.3"
,
"resolved"
:
"https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
,
"integrity"
:
"sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"ipaddr.js"
:
{
"version"
:
"1.8.0"
,
"resolved"
:
"https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz"
,
"integrity"
:
"sha1-6qM9bd16zo9/b+DJygRA5wZzix4="
},
"is-buffer"
:
{
"version"
:
"1.1.6"
,
"resolved"
:
"https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
,
"integrity"
:
"sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"media-typer"
:
{
"version"
:
"0.3.0"
,
"resolved"
:
"http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
,
"integrity"
:
"sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"merge-descriptors"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
,
"integrity"
:
"sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"methods"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
,
"integrity"
:
"sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"mime"
:
{
"version"
:
"1.4.1"
,
"resolved"
:
"https://registry.npmjs.org/mime/-/mime-1.4.1.tgz"
,
"integrity"
:
"sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
},
"mime-db"
:
{
"version"
:
"1.37.0"
,
"resolved"
:
"https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz"
,
"integrity"
:
"sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
},
"mime-types"
:
{
"version"
:
"2.1.21"
,
"resolved"
:
"https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz"
,
"integrity"
:
"sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg=="
,
"requires"
:
{
"mime-db"
:
"~1.37.0"
}
},
"ms"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
,
"integrity"
:
"sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"negotiator"
:
{
"version"
:
"0.6.1"
,
"resolved"
:
"https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
,
"integrity"
:
"sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
"on-finished"
:
{
"version"
:
"2.3.0"
,
"resolved"
:
"https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
,
"integrity"
:
"sha1-IPEzZIGwg811M3mSoWlxqi2QaUc="
,
"requires"
:
{
"ee-first"
:
"1.1.1"
}
},
"parseurl"
:
{
"version"
:
"1.3.2"
,
"resolved"
:
"https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz"
,
"integrity"
:
"sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
},
"path-to-regexp"
:
{
"version"
:
"0.1.7"
,
"resolved"
:
"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
,
"integrity"
:
"sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"proxy-addr"
:
{
"version"
:
"2.0.4"
,
"resolved"
:
"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz"
,
"integrity"
:
"sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA=="
,
"requires"
:
{
"forwarded"
:
"~0.1.2"
,
"ipaddr.js"
:
"1.8.0"
}
},
"qs"
:
{
"version"
:
"6.5.2"
,
"resolved"
:
"https://registry.npmjs.org/qs/-/qs-6.5.2.tgz"
,
"integrity"
:
"sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"range-parser"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz"
,
"integrity"
:
"sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
},
"raw-body"
:
{
"version"
:
"2.3.3"
,
"resolved"
:
"https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz"
,
"integrity"
:
"sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw=="
,
"requires"
:
{
"bytes"
:
"3.0.0"
,
"http-errors"
:
"1.6.3"
,
"iconv-lite"
:
"0.4.23"
,
"unpipe"
:
"1.0.0"
}
},
"safe-buffer"
:
{
"version"
:
"5.1.2"
,
"resolved"
:
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
,
"integrity"
:
"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"safer-buffer"
:
{
"version"
:
"2.1.2"
,
"resolved"
:
"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
,
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"send"
:
{
"version"
:
"0.16.2"
,
"resolved"
:
"https://registry.npmjs.org/send/-/send-0.16.2.tgz"
,
"integrity"
:
"sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw=="
,
"requires"
:
{
"debug"
:
"2.6.9"
,
"depd"
:
"~1.1.2"
,
"destroy"
:
"~1.0.4"
,
"encodeurl"
:
"~1.0.2"
,
"escape-html"
:
"~1.0.3"
,
"etag"
:
"~1.8.1"
,
"fresh"
:
"0.5.2"
,
"http-errors"
:
"~1.6.2"
,
"mime"
:
"1.4.1"
,
"ms"
:
"2.0.0"
,
"on-finished"
:
"~2.3.0"
,
"range-parser"
:
"~1.2.0"
,
"statuses"
:
"~1.4.0"
}
},
"serve-static"
:
{
"version"
:
"1.13.2"
,
"resolved"
:
"https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz"
,
"integrity"
:
"sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw=="
,
"requires"
:
{
"encodeurl"
:
"~1.0.2"
,
"escape-html"
:
"~1.0.3"
,
"parseurl"
:
"~1.3.2"
,
"send"
:
"0.16.2"
}
},
"setprototypeof"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz"
,
"integrity"
:
"sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
},
"statuses"
:
{
"version"
:
"1.4.0"
,
"resolved"
:
"https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz"
,
"integrity"
:
"sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
},
"type-is"
:
{
"version"
:
"1.6.16"
,
"resolved"
:
"https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz"
,
"integrity"
:
"sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q=="
,
"requires"
:
{
"media-typer"
:
"0.3.0"
,
"mime-types"
:
"~2.1.18"
}
},
"unpipe"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
,
"integrity"
:
"sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"utils-merge"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
,
"integrity"
:
"sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"vary"
:
{
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
,
"integrity"
:
"sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
}
}
}
package.json
0 → 100644
View file @
1ef3c51
{
"name"
:
"linebot"
,
"version"
:
"1.0.0"
,
"description"
:
""
,
"main"
:
"app.js"
,
"scripts"
:
{
"test"
:
"echo
\"
Error: no test specified
\"
&& exit 1"
,
"start"
:
"node server.js"
},
"author"
:
"강수인"
,
"license"
:
"MIT"
,
"dependencies"
:
{
"@line/bot-sdk"
:
"^6.4.0"
,
"express"
:
"^4.16.4"
}
}
Please
register
or
login
to post a comment