Toggle navigation
Toggle navigation
This project
Loading...
Sign in
정홍주
/
Coin-trade-assistant
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
정홍주
2021-06-07 14:34:21 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
c979ce3c560a0a50cbf249122216aa35d0a445f9
c979ce3c
1 parent
0ca3d2c1
Revert "Revert "Add Replying Upbit coin price""
This reverts commit
0ca3d2c1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
87 additions
and
45 deletions
app.js
app.js
View file @
c979ce3
var
express
=
require
(
'express'
);
var
app
=
express
();
var
fs
=
require
(
'fs'
);
const
request
=
require
(
'request'
);
const
TARGET_URL
=
'https://api.line.me/v2/bot/message/reply'
const
TOKEN
=
'6lwsXwectIjTZ1NWp6c1t5l8nXaOjWgfeYfTOWNRRTVftaXMb4eSMj2zeficMr4/FWtyPPBuUB120kxZp58bwDilssdU5Uhc4mWz4kCPfcgiEcVwzXUktbYRE3xKAJU1zdYAsZZvI+87KY8qZvaRngdB04t89/1O/w1cDnyilFU='
const
fs
=
require
(
'fs'
);
const
path
=
require
(
'path'
);
const
HTTPS
=
require
(
'https'
);
const
fetch
=
require
(
'node-fetch'
);
var
bodyParser
=
require
(
'body-parser'
);
app
.
use
(
bodyParser
.
urlencoded
({
extended
:
false
}));
const
domain
=
"2018102235.oss2021.tk"
const
sslport
=
23023
;
const
bodyParser
=
require
(
'body-parser'
);
var
app
=
express
();
var
command
=
''
;
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] '
,
source
);
console
.
log
(
'[request message]'
,
message
);
if
(
message
.
text
===
'김프'
){
command
=
'김프'
;
}
else
{
if
(
command
===
'김프'
){
kimp
(
eventObj
.
replyToken
,
message
.
text
);
}
}
res
.
sendStatus
(
200
);
});
function
kimp
(
replyToken
,
message
){
var
upbitPrice
=
0
;
function
korean_price
(){
var
promise
=
new
Promise
(
function
(
resolve
,
reject
){
const
url
=
'https://api.upbit.com/v1/candles/minutes/1?market=KRW-'
+
message
+
'&count=1'
;
const
options
=
{
method
:
'GET'
,
headers
:
{
Accept
:
'application/json'
}};
fetch
(
url
,
options
)
.
then
(
res
=>
res
.
json
())
.
then
(
json
=>
{
upbitPrice
=
json
[
0
].
trade_price
;
resolve
(
upbitPrice
);
})
.
catch
(
err
=>
console
.
error
(
'error:'
+
err
));
});
return
promise
;
}
korean_price
().
then
(
function
(
upbitPrice
){
request
.
post
(
{
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
replyToken
,
"messages"
:[
{
"type"
:
"text"
,
"text"
:
String
(
upbitPrice
)
},
]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
)
});
res
.
sendStatus
(
200
);
});
}
app
.
get
(
'/price'
,
function
(
req
,
res
)
{
fs
.
readFile
(
'coin_name.txt'
,
'utf8'
,
function
(
err
,
data
){
arr
=
data
.
split
(
","
);
// console.log(arr);
var
responseList
=
new
Array
();
function
print_coin
(){
var
promise
=
new
Promise
(
function
(
resolve
,
reject
){
for
(
j
=
0
;
j
<
arr
.
length
/
10
;
j
++
){
for
(
i
=
j
*
10
;
i
<
(
j
+
1
)
*
10
;
i
++
){
(
function
(
i
){
setTimeout
(
function
(){
const
url
=
'https://api.upbit.com/v1/candles/minutes/1?market='
+
arr
[
i
]
+
'&count=1'
;
const
options
=
{
method
:
'GET'
,
headers
:
{
Accept
:
'application/json'
}};
var
coinJson
=
new
Object
();
fetch
(
url
,
options
)
.
then
(
res
=>
res
.
json
())
.
then
(
json
=>
{
coinJson
.
coin
=
arr
[
i
];
coinJson
.
price
=
json
[
0
].
trade_price
;
responseList
.
push
(
coinJson
);
console
.
log
(
i
)
if
(
responseList
.
length
>
116
){
resolve
(
responseList
);
}
})
.
catch
(
err
=>
console
.
error
(
'error:'
+
err
));
},
i
*
110
);
})(
i
);
}
}
});
return
promise
;
}
print_coin
().
then
(
function
(
resList
){
res
.
send
(
resList
);
});
})
})
var
server
=
app
.
listen
(
8082
);
console
.
log
(
"Server Created.."
);
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
}
`
);
});
}
catch
(
error
)
{
console
.
log
(
'[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'
);
console
.
log
(
error
);
}
\ No newline at end of file
...
...
Please
register
or
login
to post a comment