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 02:42:39 +0900
1
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
da1e0f92f1c53964f6b6040453b03e76313d36b2
da1e0f92
1 parent
73950ad5
Tracking coin price in binance(KRW)
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
185 additions
and
4 deletions
app.js
package-lock.json
package.json
test.js
test2.js
test3.js
test6.js
app.js
View file @
da1e0f9
...
...
@@ -27,12 +27,12 @@ app.get('/price', function(req, res) {
coinJson
.
price
=
json
[
0
].
trade_price
;
responseList
.
push
(
coinJson
);
console
.
log
(
i
)
if
(
i
>
115
){
if
(
responseList
.
length
>
116
){
resolve
(
responseList
);
}
})
.
catch
(
err
=>
console
.
error
(
'error:'
+
err
));
},
i
*
1
8
0
);
},
i
*
1
1
0
);
})(
i
);
}
}
...
...
package-lock.json
View file @
da1e0f9
This diff is collapsed. Click to expand it.
package.json
View file @
da1e0f9
...
...
@@ -16,9 +16,14 @@
"license"
:
"ISC"
,
"dependencies"
:
{
"body-parser"
:
"^1.19.0"
,
"coingecko-api"
:
"^1.0.10"
,
"coinmarketcap-api"
:
"^3.1.1"
,
"express"
:
"^4.17.1"
,
"jsonwebtoken"
:
"^8.5.1"
,
"node-binance-api"
:
"^0.12.5"
,
"node-coinmarketcap"
:
"^0.2.0"
,
"node-fetch"
:
"^2.6.1"
,
"request"
:
"^2.88.2"
"request"
:
"^2.88.2"
,
"request-promise"
:
"^4.2.6"
}
}
...
...
test.js
View file @
da1e0f9
...
...
@@ -24,7 +24,7 @@ fs.readFile('coin_name.txt', 'utf8', function(err,data){
console
.
log
(
i
)
})
.
catch
(
err
=>
console
.
error
(
'error:'
+
err
));
},
i
*
1
8
0
);
},
i
*
10
);
})(
i
);
}
}
...
...
test2.js
View file @
da1e0f9
...
...
@@ -17,3 +17,14 @@ console.log("끝")
const
list
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
]
loop
(
list
)
// const result = async (list) => {
// for (const data of list) {
// await delay()
// .then(() => console.log(data))
// }
// }
// const list = [1, 2, 3, 4, 5, 6, 7]
// result(list)
\ No newline at end of file
...
...
test3.js
0 → 100644
View file @
da1e0f9
var
express
=
require
(
'express'
);
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
domain
=
"2018102235.oss2021.tk"
const
sslport
=
23023
;
const
fetch
=
require
(
'node-fetch'
);
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] '
,
source
);
console
.
log
(
'[request message]'
,
message
);
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
;
}
request
.
post
(
{
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
eventObj
.
replyToken
,
"messages"
:[
{
"type"
:
"text"
,
"text"
:
resList
[
0
].
coin
}
]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
)
});
res
.
sendStatus
(
200
);
})
})
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
);
request
.
post
(
{
url
:
TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"replyToken"
:
eventObj
.
replyToken
,
"messages"
:[
{
"type"
:
"text"
,
"text"
:
"Hello, user"
},
{
}
]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
)
});
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
}
`
);
});
}
catch
(
error
)
{
console
.
log
(
'[HTTPS] HTTPS 오류가 발생하였습니다. HTTPS 서버는 실행되지 않습니다.'
);
console
.
log
(
error
);
}
test6.js
0 → 100644
View file @
da1e0f9
const
fetch
=
require
(
'node-fetch'
);
const
url
=
'https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT'
;
const
options
=
{
method
:
'GET'
,
headers
:
{
Accept
:
'application/json'
}};
const
rp
=
require
(
'request-promise'
);
const
requestOptions
=
{
method
:
'GET'
,
uri
:
'https://pro-api.coinmarketcap.com/v1/cryptocurrency/listings/latest'
,
qs
:
{
'start'
:
'1'
,
'limit'
:
'10'
,
'convert'
:
'KRW'
},
headers
:
{
'X-CMC_PRO_API_KEY'
:
'c2f8e0b0-a253-4de3-a63f-9f564c8cdd1f'
},
json
:
true
,
gzip
:
true
};
fetch
(
url
,
options
)
.
then
(
res
=>
res
.
json
())
.
then
(
json
=>
rp
(
requestOptions
).
then
(
response
=>
{
var
i
=
0
;
while
(
response
.
data
[
i
].
id
!==
825
){
i
=
i
+
1
;
}
console
.
log
(
'API call response:'
,
json
.
price
*
response
.
data
[
i
].
quote
.
KRW
.
price
);
})
)
.
catch
(
err
=>
console
.
error
(
'error:'
+
err
));
정홍주
@2018102235 commented
2021-06-06 17:43:23 UTC
Master
test6에 구현
Please
register
or
login
to post a comment