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-08 01:42:17 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
1d60f2ddf7bd5a01d76490150726c80296ac0cef
1d60f2dd
1 parent
2d229817
거래 시간대 UTC에서 한국 시간대로 변경
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
30 additions
and
9 deletions
app_chatbot.js
app_chatbot.js
View file @
1d60f2d
...
...
@@ -2,8 +2,8 @@ const request = require('request');
const
TARGET_URL
=
'https://api.line.me/v2/bot/message/push'
const
MULTI_TARGET_URL
=
'https://api.line.me/v2/bot/message/multicast'
const
BROAD_TARGET_URL
=
'https://api.line.me/v2/bot/message/broadcast'
const
TOKEN
=
'
'
//Token, userid 입력후 사용
const
USER_ID
=
'
'
const
TOKEN
=
'
ePTcnuOEn0TvohbtMRnbZRo0YqKVUOyjkkZ/jE6qh5VC5dajFgFBuWY+MAzdY8VKybwB34iz2AbFRtM0G9fL0+Xo4U+Lz7uBNpCo5m//COlWZdQsx1Ywmh61NopAomnNjWT41rNV1YyvI9aeX5CKxgdB04t89/1O/w1cDnyilFU='
const
USER_ID
=
'
U2988a9f8583a616c1285db2224662211'
const
express
=
require
(
'express'
);
const
app
=
express
();
...
...
@@ -14,19 +14,41 @@ var cursor = ''
url2
=
'https://api.whale-alert.io/v1/transactions?api_key='
+
api_key
+
'&cursor='
+
cursor
;
const
options
=
{
method
:
'GET'
,
headers
:
{
Accept
:
'application/json'
}};
const
KR_TIME_DIFF
=
9
*
60
*
60
*
1000
;
var
TimeNow
=
parseInt
((
new
Date
()).
getTime
()
/
1000
)
var
uts2time
=
new
Date
()
console
.
log
(
TimeNow
)
fetch
(
url2
,
options
)
//커서값(갱신)을 얻기 위한 fetch
fetch
(
url2
,
options
)
.
then
(
res
=>
res
.
json
())
.
then
(
json
=>
{
console
.
log
(
json
)
fetch
(
url2
+
json
.
cursor
,
options
)
.
then
(
res
=>
res
.
json
())
.
then
(
json
=>
{
console
.
log
(
json
)
fetch
(
url2
+
json
.
cursor
,
options
)
.
then
(
res
=>
res
.
json
())
.
then
(
json
=>
{
console
.
log
(
json
)
if
(
json
.
cursor
!=
undefined
){
cursor
=
json
.
cursor
})
}
})
.
catch
((
err
)
=>
{
console
.
log
(
'error : inital_fetch:'
+
err
)
})
})
.
catch
((
err
)
=>
{
console
.
log
(
'error : inital_fetch:'
+
err
)
})
})
.
catch
((
err
)
=>
{
console
.
log
(
'error : inital_fetch:'
+
err
)
})
function
chk_param
(
data
,
query_limit
,
callback
){
//query_limit (non_int) => return 0;
//query_limit (int) => return query_limit;
...
...
@@ -40,12 +62,12 @@ function data_collector(data, limit){
//ret += '# of Transactions : ' + data.count + '\n'
for
(
var
i
=
0
;
i
<
data
.
count
;
i
++
){
uts2time
.
setTime
(
data
.
transactions
[
i
].
timestamp
*
1000
)
uts2time
.
setTime
(
data
.
transactions
[
i
].
timestamp
*
1000
+
KR_TIME_DIFF
)
str
=
/*'#' + (i+1)+*/
'Time: '
+
uts2time
.
toLocaleString
()
+
'\nChainName: '
+
data
.
transactions
[
i
].
blockchain
+
'\nAmount: '
+
data
.
transactions
[
i
].
amount
+
' USD'
if
(
data
.
transactions
[
i
].
amount
>
limit
){
//console.log(str)
// ret += '\n\n' + str;
o
=
{
'type'
:
'text'
,
//message 형태에 맞춰 저장
o
=
{
'type'
:
'text'
,
'text'
:
str
}
ret
.
push
(
o
)
}
...
...
@@ -55,7 +77,6 @@ function data_collector(data, limit){
}
return
ret
;
}
//5초 간격으로 fetch후 메시지 전송
setInterval
(()
=>
{
fetch
(
url2
+
cursor
,
options
)
.
then
(
res
=>
res
.
json
())
...
...
@@ -66,7 +87,7 @@ setInterval(() => {
}
else
{
cursor
=
json
.
cursor
var
msg2user
=
chk_param
(
json
,
0
,
data_collector
)
//fetch후 message Object 배열 리턴
var
msg2user
=
chk_param
(
json
,
1000000
,
data_collector
)
console
.
log
(
'msg'
,
msg2user
)
if
(
msg2user
.
length
){
var
i
=
0
;
...
...
@@ -79,7 +100,7 @@ setInterval(() => {
},
json
:
{
"to"
:
`
${
USER_ID
}
`
,
"messages"
:[
msg2user
[
i
]]
//5개 초과하면 err나서 하나씩 넣음
"messages"
:[
msg2user
[
i
]]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
,
error
)
...
...
Please
register
or
login
to post a comment