Toggle navigation
Toggle navigation
This project
Loading...
Sign in
방승일
/
Stock_Alert_Chatbot
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
EC2 Default User
2022-06-08 15:58:00 +0000
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
9e0b72d4cc5a0e32b3b6ddd03a5eacc6f9be6eb8
9e0b72d4
2 parents
2b55ca97
d4277a8a
Merge branch 'experiment'
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
117 additions
and
70 deletions
push.js
push.js
View file @
9e0b72d
...
...
@@ -5,77 +5,124 @@ const BROAD_TARGET_URL = 'https://api.line.me/v2/bot/message/broadcast'
const
TOKEN
=
'채널 토큰으로 교체'
const
USER_ID
=
'사용자의 ID, 메세지 수신 시에 확인할 수 있음'
//Single User -> 특정 인물 한명에게만 user_id
/*
request.post(
{
url: TARGET_URL,
headers: {
'Authorization': `Bearer ${TOKEN}`
},
json: {
"to": `${USER_ID}`,
"messages":[
{
"type":"text",
"text":"Hello, user"
},
{
"type":"text",
"text":"May I help you?"
}
]
}
},(error, response, body) => {
console.log(body)
});
*/
var
client_id
=
'naver client_id'
;
var
client_secret
=
'naver client_secret'
;
// Multicast User -> 채널에 불특정 다수에게(user_id적힌 사람들에게)
/*
request.post(
{
url: MULTI_TARGET_URL,
headers: {
'Authorization': `Bearer ${TOKEN}`
},
json: {
"to": [`${USER_ID}`],
"messages":[
{
"type":"text",
"text":"Hello, user"
},
{
"type":"text",
"text":"May I help you?"
}
]
}
},(error, response, body) => {
console.log(body)
});
*/
var
headline_max
=
''
;
var
headline_min
=
''
;
// Broadcast -> 채널 전체 유저에게
request
.
post
(
{
url
:
BROAD_TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"messages"
:[
{
"type"
:
"text"
,
"text"
:
"Hello, user"
},
{
"type"
:
"text"
,
"text"
:
"May I help you?"
const
PushFunc_max
=
function
()
{
var
api_url
=
'https://openapi.naver.com/v1/search/news?query='
+
encodeURI
(
'상한가 주식'
);
// json 결과
var
options
=
{
url
:
api_url
,
headers
:
{
'X-Naver-Client-Id'
:
client_id
,
'X-Naver-Client-Secret'
:
client_secret
}
};
request
.
get
(
options
,
function
(
error
,
response
,
body
)
{
const
obj
=
JSON
.
parse
(
body
);
const
str
=
JSON
.
stringify
(
obj
.
items
[
0
]);
const
obj2
=
JSON
.
parse
(
str
);
if
(
headline_max
==
''
||
headline_max
!=
JSON
.
stringify
(
obj2
.
title
).
replace
(
/<
[^
>
]
*>
?
/g
,
''
))
{
if
(
!
error
&&
response
.
statusCode
==
200
)
{
headline_max
=
JSON
.
stringify
(
obj2
.
title
).
replace
(
/<
[^
>
]
*>
?
/g
,
''
)
request
.
post
(
{
url
:
BROAD_TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"messages"
:
[
{
"type"
:
"text"
,
"text"
:
"[상한가 소식]"
},
{
"type"
:
"text"
,
"text"
:
"<<<헤드라인>>>\n"
+
JSON
.
stringify
(
obj2
.
title
).
replace
(
/<
[^
>
]
*>
?
/g
,
''
)
},
{
"type"
:
"text"
,
"text"
:
"<<<주요문단>>>\n"
+
JSON
.
stringify
(
obj2
.
description
).
replace
(
/<
[^
>
]
*>
?
/g
,
''
)
},
{
"type"
:
"text"
,
"text"
:
"뉴스 바로가기\n"
+
JSON
.
stringify
(
obj2
.
link
)
}
]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
)
}
)
}
else
{
res
.
status
(
response
.
statusCode
).
end
();
console
.
log
(
'error = '
+
response
.
statusCode
);
}
}
else
{
console
.
log
(
'새로운 소식 없음_max'
)
}
});
};
const
PushFunc_min
=
function
()
{
var
api_url
=
'https://openapi.naver.com/v1/search/news?query='
+
encodeURI
(
'하한가 주식'
);
// json 결과
var
options
=
{
url
:
api_url
,
headers
:
{
'X-Naver-Client-Id'
:
client_id
,
'X-Naver-Client-Secret'
:
client_secret
}
};
request
.
get
(
options
,
function
(
error
,
response
,
body
)
{
const
obj
=
JSON
.
parse
(
body
);
const
str
=
JSON
.
stringify
(
obj
.
items
[
0
]);
const
obj2
=
JSON
.
parse
(
str
);
if
(
headline_min
==
''
||
headline_min
!=
JSON
.
stringify
(
obj2
.
title
).
replace
(
/<
[^
>
]
*>
?
/g
,
''
))
{
if
(
!
error
&&
response
.
statusCode
==
200
)
{
headline_min
=
JSON
.
stringify
(
obj2
.
title
).
replace
(
/<
[^
>
]
*>
?
/g
,
''
)
request
.
post
(
{
url
:
BROAD_TARGET_URL
,
headers
:
{
'Authorization'
:
`Bearer
${
TOKEN
}
`
},
json
:
{
"messages"
:
[
{
"type"
:
"text"
,
"text"
:
"[하한가 소식]"
},
{
"type"
:
"text"
,
"text"
:
"<<<헤드라인>>>\n"
+
JSON
.
stringify
(
obj2
.
title
).
replace
(
/<
[^
>
]
*>
?
/g
,
''
)
},
{
"type"
:
"text"
,
"text"
:
"<<<주요문단>>>\n"
+
JSON
.
stringify
(
obj2
.
description
).
replace
(
/<
[^
>
]
*>
?
/g
,
''
)
},
{
"type"
:
"text"
,
"text"
:
"뉴스 바로가기\n"
+
JSON
.
stringify
(
obj2
.
link
)
}
]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
)
}
]
}
},(
error
,
response
,
body
)
=>
{
console
.
log
(
body
)
});
\ No newline at end of file
)
}
else
{
res
.
status
(
response
.
statusCode
).
end
();
console
.
log
(
'error = '
+
response
.
statusCode
);
}
}
else
{
console
.
log
(
'새로운 소식 없음_min'
)
}
});
};
const
intervalId_max
=
setInterval
(
PushFunc_max
,
60000
);
const
intervalId_min
=
setInterval
(
PushFunc_min
,
60000
);
\ No newline at end of file
...
...
Please
register
or
login
to post a comment